Vue upload 自动上传data动态传参 无效问题

问题描述:
用el-upload上传文件,初始化data,选择文件后人为改变data,文件上传时data值是上一次改变的值。

 <el-upload
       :on-success="uploadSuccess"
       :on-change="onChange"
       :before-upload="beforeUpload"  
       :data="uploadData"       //动态改变并将上传的参数
       :action="action" >
         <el-button type="primary">
            上传文件
         </el-button>
 </el-upload>

...

<script>


data() {
  return {
      uploadData:{
          fileName:'初始名称'
      }
  }
}

...

methods:{

  beforeUpload(file){
      //动态给data赋值
      this.uploadData = {'fileName':file.name};
      //如果就这样上传文件 文件名将会是 '初始名称'
     //不关闭页面第二次选择文件上传  文件名将会是第一次选择的文件名
     

    //解决方法
    let promise = new Promise((resolve) => {
          this.$nextTick(function() {
            resolve(true);
          });
        });
        return promise;
    
     }
 //其实感觉就是起一个延迟上传的作用,有兴趣可以去验证一下
}


</script >

各种搜索都没有找到解决办法,因为是小白。
参考:他大舅啊

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容