问题:
Element UI Upload 组件文件上传一次 后,不论是上传成功之后修改文件再上传还是上传失败重新上传,再次点击上传均无反应。
原因:
第一次上传文件后,浏览器还保存着我们已经上传的文件,所以要想继续上传文件,就需要在on-success钩子函数中通过ref 拿到它的document元素进行清除已经上传的文件
方法:
利用 :on-success钩子函数中通过ref 拿到它的document元素进行清除已经上传的文件,其中ref="upload"与this.$refs[“upload”]要对应。
代码实现如下:
<el-upload ref="upload" :on-success="onSuccess" >
<el-button slot="trigger" size="small" type="primary" plain>
上传
</el-button>
</el-upload>
// 文件上传成功时的钩子
onSuccess(res, file) {
this.$refs["upload"].clearFiles(); //上传成功之后清除历史记录
},