vue的Element组件上传文件el-upload上传成功后清空
<el-upload action="#" ref="upload" list-type="picture" :show-file-list="true" :limit="1" :http-request="handleUpload">
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
上传完成后执行清空
this.$refs.upload.clearFiles()
或者
const mainImg = this.$refs.upload
if (mainImg && mainImg.length) {
mainImg.forEach(item => {
item.clearFiles()
})
}
如果有多个组件可以使用:file-list,可以设置file-list="[]"
<el-upload action="#" ref="upload" :file-list="normal" list-type="picture" :show-file-list="true" :limit="1" :http-request="uploadAvatarNormal">
<el-button size="small" type="primary">点击上传图片</el-button>
</el-upload>
然后清空normal字段即可
还有种情况是需要修改组件key来实现清空的
timer: '',
<ImageCropping :imageUrl="companyform.imageUrl" @change="uploadHandler" imgType="imageUrl" :key="timer"/>
其中timer是需要修改的,每次新增或修改的时候修改timer的值即可
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.timer = new Date().getTime()
this.title = '添加信息'
},
解决了之后可以给自己放松下,玩下这个解压的微信小游戏