el-upload上传一张图片,并隐藏上传框

先展示效果图:上传一张照片后上传框隐藏,点击图片出现删除图标

 

 代码使用el-upload上传文件缩略图,部分图标按需求增加或者注释

<div class="bg90 bg-height marginB10 freePic">
              <el-upload action="#" 
              list-type="picture-card" :limit="1" 
              :auto-upload="false" 
              :on-change="handleUpload" 
              :on-preview="handlePictureCardPreview"
              :on-remove="handleRemove"
              ref="uploadImage"
              :class="{hide:hideUpload}"
           >
                <i slot="default" class="el-icon-plus"></i>
                <div slot="file" slot-scope="{ file }">
                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt="" />
                  <span class="el-upload-list__item-actions">
                    <!-- <span v-if="!disabled" class="el-upload-list__item-delete" 
                     @click="handleDownload(file)">
                    <i class="el-icon-download"></i>
                  </span> -->
                  <span v-if="!disabled" class="el-upload-list__item-delete" 
                    @click="handleRemove(file)">
                    <i class="el-icon-delete"></i>
                  </span>
                  </span>
                </div>
                <!-- <img width="100%" v-if="dialogImageUrl" :src="dialogImageUrl" alt="" />
                <i v-else slot="default" class="el-icon-plus"></i> -->
              </el-upload>
              <el-dialog :visible.sync="dialogVisible">
                <img width="100%" :src="dialogImageUrl" alt="" />
              </el-dialog>
            </div>

 data中写入:

data(){
    return{
        dialogImageUrl: '',
        dialogVisible: false,
        disabled: false,
}
}

 methods中写入:

handleUpload(data) {
      this.hideUpload=true
      const file = data.raw
      const form = new FormData()
      form.append('file', file)
        //调用接口
      this.http.file(xxxxxxx res => {
        this.dialogImageUrl = res.url
      })
    },
handlePictureCardPreview(file) {
      this.dialogImageUrl = file.url
      this.dialogVisible = true
    },
handleRemove(file,fileList) {
      this.hideUpload=false
      this.$refs.uploadImage.handleRemove(file)
    },

最后控制样式:

.freePic ::v-deep .hide .el-upload--picture-card {
  display: none;
}

隐藏el-upload上传图片按钮,可以通过设置CSS样式或绑定一个占位class来实现。根据引用的内容,有几种方法可以隐藏上传按钮: 方法一:通过设置CSS样式隐藏el-upload上传按钮 在样式中添加以下代码: ``` .hideUpload /deep/ .el-upload{ display:none; /* 上传按钮隐藏 */ } ``` 这样就可以隐藏el-upload上传按钮。 方法二:通过设置绑定的class来隐藏el-upload上传按钮 在el-upload组件中绑定一个占位class,并设置初始值为false: ``` :class="{hide:hideUpload}" ``` 然后在相关的事件中,根据条件动态改变hideUpload的值,当hideUpload为true时,上传按钮会被隐藏。 以上是两种常用的方法来隐藏el-upload上传按钮。你可以根据自己的需求选择其中一种方法来实现隐藏。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [el-upload 上传图片隐藏按钮](https://blog.csdn.net/anderfang/article/details/109293371)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [element el-upload上传图片完成后隐藏上传](https://blog.csdn.net/l17862868372/article/details/116223978)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [element-ui上传一张图片隐藏上传按钮功能](https://download.csdn.net/download/weixin_38588520/13617874)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值