• element upload 上传多文件时on-success方法只执行一次的解决


    描述:点击上传按钮,显示打开窗口,可以多选,当点击确定时,自动上传。上传是先通过:action 属性绑定的url上传到服务器。上传成功后返回file信息,此时需要再调一个接口,把请求到的数据传回去。

    下面的log是我在on-success打印的,此时on-success只调用一次,而且只有第一张状态是上传成功的。

     

    <el-upload
          :action="URL"
          :with-credentials="true"
          :file-list="uploadArr"
          :on-success="handleSuccess"
          :on-preview="handlePreview"
          :list-type="''"
          multiple
          class="upload"
          ref="uploadRef"
          :on-remove="handleRemove"
        >
          <el-button icon="el-icon-upload2">上传文件</el-button>
    </el-upload>
    handleSuccess(res, file, fileList) { // 图片上传服务器后的回调
          if (res.status === 1) {
            this.urlList(res, file, fileList);// 以方法的形式调用就可以了,每一张图片都会到这个方法里
          } else {
            this.delShowFile(file, fileList);
            this.$message.error(file.name + '上传失败!');
          }
        },
        // 把上传失败的从list中删除
        delShowFile(file, fileList) {
          let index = fileList.findIndex(item => {
              return item.name === file.name;
            });
            if (index !== -1) {
              fileList.splice(index, 1); 
            }
        },
        urlList(res, file1, fileList) { // 为了回显,保存服务器传回URL
          const { data, file } = res;
          const temp = JSON.parse(file);
          const time = this.getTime(new Date());
          const url = data.img_url[0];
          this.filesUpload(time, temp.name, url);
          this.delShowFile(file1, fileList);
        },
        async filesUpload(time, file, imgUrl) {
          const params = {
            id: this.$route.query.id,
            file: imgUrl,
            type: this.type
          };
          await contactUpload(params).then((res) => {
              if (res.status == 1) {
                this.$message.success(res.msg);
              }
          });
        },

    记录一下,写的有点乱

  • 相关阅读:
    Java程序,猜大小游戏
    Java程序,取随机数的两种实现方法
    用Java程序判断是否是闰年
    Python学习-基础篇17 Django-进阶
    Python学习-基础篇16 Django-Ajax、Cookie
    Python学习-基础篇15 Django-MTV
    Python学习-基础篇14 Web框架本质及第一个Django实例
    Python学习-基础篇13 前端知识之Bootstrap框架
    Python学习-基础篇12 前端知识之Javascript知识
    Python学习-基础篇11 前端知识之HTML内容
  • 原文地址:https://www.cnblogs.com/sweetC/p/14610890.html
Copyright © 2020-2023  润新知