vue+element 上传图片后,隐藏上传图标

本文介绍了在使用Vue和ElementUI进行图片上传时,如何实现上传成功后隐藏上传图标,以及在删除图片后重新显示图标的实现方法。关键在于绑定:class,添加on-remove和on-change事件监听,并注意避免使用scope导致的隐藏失效问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 要求:上传一张图片后,隐藏上传Icon,删除该图片再把Icon展示出来

 代码示例:主要看注释部分,上传图片格式与大小element官方有,这里不做代码展示

 1:绑定 :class    在DOM数里加上on-remove,on-change,limit

  <el-upload
        :class="{ uploadIconOne: showImg, uploadIcon: noneUploadImg }"// 1.动态绑定样式,控制显示隐藏
        drag
        :action="'v3/task/madel/uploadFile?type=' + type"
        :accept="accept"
        list-type="picture-card"
        :on-success="handleSuccess"
        :before-upload="beforeAvatarUpload"
        :file-list="fileList"
        file="file"
        :on-remove="handleDeleteImgRemove" //移除
        :on-change="uploadImgChange" //文件上传状态改变
        :limit="limitCountImg" //上传文件数量
    >
        <i class="el-icon-upload"></i>
       
    </el-upload>
 data() {
        return {
            showImg: true,//默认展示
            noneUploadImg: false,//
            fileList: [],
            limitCountImg: 1, //上传图片的最大数量
        };
    },
methods:{
      // 判断数量,是否显示上传icon
        uploadImgChange(file, fileList) {
            this.noneUploadImg = fileList.length >= this.limitCountImg;
        },
        // 删除图片,判断数量,是否显示icon
        handleDeleteImgRemove(file, fileList) {
            this.noneUploadImg = fileList.length >= this.limitCountImg;
        },
}

切记去掉scope,,看了好久icon隐藏不了,结果最后因为加了scope 

<!-- scoped  切记不能加scope -->
<style lang="scss">
.uploadIcon.el-upload--picture-card {
    display: none !important; /* 上传按钮隐藏 */
}
</style>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值