element 上传图片

需求:

上传图片只上传一张,当图片上传完成之后,就隐藏上传按钮,当图片移除之后就显示上传按钮

//这里使用的是v-if判断让图片和按钮动态显示
 <el-upload v-if="fileThemeImg.length == 0" :action="GLOBAL.BASE_URL + '/sysoss/upload'"
                      :class="{ uoloadSty: showBtnDealImg, disUoloadSty: noneBtnUrl }" :limit="1" :data="savePath" list-type="picture-card" :headers="headerObj"
                      :on-preview="handlePictureCardPreview" :before-upload="beforeUploadImg" :on-success="handleSuccessthemeImg" :on-error="handleError"
                       :on-change="imgUrlChange" :file-list="fileThemeImg">
                      <i class="el-icon-plus"></i>
                    </el-upload>

 <el-upload v-else :action="GLOBAL.BASE_URL + '/sysoss/upload'" :class="{ hide: hideUpload }" :limit="1" :data="savePath"
                      list-type="picture-card" :headers="headerObj" :on-preview="handlePictureCardPreview" :before-upload="beforeUploadImg"
                      :on-remove="handleRemovethemeImg" :on-success="handleSuccessthemeImg" :on-error="handleError" :on-change="imgUrlChange2"
                      :file-list="fileThemeImg">
                      <i class="el-icon-plus"></i>
                    </el-upload>



/* 上传按钮隐藏 */
.disUoloadSty .el-upload--picture-card {
  display: none;
}
.hide .el-upload--picture-card {
  display: none;
}

:data是指上传时候的名称 savePath: { pathName: ‘theme_img’ },
:file-list指的是上传图片的url 数组类型 文档上都有标注

通过触发上传图片的方法

//判断当前上传数组的长度是否大于或者等于我们规定好的上传图片数量进行判断
 imgUrlChange (file, fileList) {
      this.noneBtnUrl = fileList.length >= this.limitCountUrl;
    },
    //这个方法只是用来判断用户上传图片的格式
 beforeUploadImg (file) {
      const isImg = /^image\/(jpeg|png|jpg)$/.test(file.type);
      const isLt2M = file.size / 1024 / 1024 < 2;
      if (!isImg) {
        this.$message.error('上传图片格式不对哦');
        return false;
      }
      if (!isLt2M) {
        this.$message.error('上传图片大小不能超过 2MB!');
        return false;
      }
      return isImg && isLt2M;
    },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值