解决element-ui中el-upload组件上传多个图片时出现重复图片问题

使用el-upload在上传图片时,上传多张时,会出现重复问题,原因是on-change在监听文件变化时,是每次选择一个文件就要返回一次调用,例如:选择了两个文件,a.png,b.png就要返回两次,第一次返回[a.png],第二次返回[a.png,b.png],结果累加就是[a.png,a.png,b.png],所以会造成重复,需要处理一下,只要最后一次调用

好了,上代码

js如下:

 handleChange(file, fileList) {
      let length = fileList.length;
      //this.maxlength在data中设置 即maxlength:0
      this.maxlegth = Math.max(length, this.maxlegth);
      setTimeout(() => {
        if (length !== this.maxlegth) {
          console.log("不是最大长度");
        } else {
          console.log("最大长度", length);
          this.files = fileList;
          for (var i = 0; i < this.files.length; i++) {
            this.formData.append("files", this.files[i].raw);
            console.log("文件:", this.files[i].raw);
          }
        }
      });
     
    },

标签代码如下:

 <el-form-item label="上传图片:" :label-width="formLabelWidth">
              <el-upload
                class="uploadImage"
                drag
                action="#"
                ref="uploadFile"
                name="files"
                multiple
                :on-change="handleChange"
                :auto-upload="false"
                :http-request="httprequest"
                :before-upload="beforeUpload"
              >
                <i class="el-icon-upload"></i>
                <div class="el-upload__text">
                  将文件拖到此处,或<em>点击上传</em>
                </div>
              </el-upload>
            </el-form-item>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值