问题描述:
用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 >
各种搜索都没有找到解决办法,因为是小白。
参考:他大舅啊
网友评论