View Design中 Upload批量上传 时成功方法只回调一次

分享一下出坑经验:

<Upload
          action="XXXX"
          :headers="accessToken"
          :on-preview="onPreview"
          :on-success="
            (res, file, fileList) =>
              handleSuccess(res, file, fileList)
          "
          :on-error="handleError"
          multiple
          ref="up"
          :default-file-list="defaultFileList"
        >
          <i-button icon="ios-cloud-upload-outline">上传附件</i-button>
          <div class="fileTips">
            支持10M以内的xlsx、doc、docx、jpg、jpeg、pdf、ppt、pptx格式文件,最多支持上传5份文件
          </div>
        </Upload>
    handleSuccess(res, file, fileList) {
      this.defaultList = fileList;
      if (res.success) {
        this.$Message.success('上传附件 ' + file.name + ' 成功');
      } else {
        this.$Message.error(res.message);
      }
    },

看着没什么问题,结果批量上传文件的时候出现莫名奇妙的情况,查看了一下接口,三个上传文件都是请求成功的!!
请添加图片描述
原因是什么嘞:
成功的回调方法中**this.defaultList = fileList;**这样的写法是不对的,直接去掉,或者判断fileList中全部请求结束后再赋值

    handleSuccess(res, file, fileList) {
      // this.defaultList = fileList;
       let isEnd = fileList.every(item=>item.finished);
       if(isEnd){
        this.defaultList = fileList;
       }
      if (res.success) {
        this.$Message.success('上传附件 ' + file.name + ' 成功');
      } else {
        this.$Message.error(res.message);
      }
    },

根据自己的需求进行选择啦~~

记录一下避免老年痴呆忘记了!!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值