如图所示,下方handleRemove的方法就是删除绑定的点击事件
elementui中的 文件缩略图 部分,删除功能的实现没有写出来,下方补充:
首先你需要给上传图片的组件加个名字,ref=" xxxx "
<!-- 上传图片的组件 -->
<el-upload action="#" list-type="picture-card" :auto-upload="false" style="z-index:10"
ref="pictureUpload">
<i slot="default" class="el-icon-plus"></i>
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click.stop="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
<span v-if="!disabled" class="el-upload-list__item-delete"
@click.stop="handleDownload(file)">
<i class="el-icon-download"></i>
</span>
<span v-if="!disabled" class="el-upload-list__item-delete" @click.stop="handleRemove(file)">
<i class="el-icon-delete"></i>
</span>
</span>
</div>
</el-upload>
js逻辑部分:
// 2、下载
handleDownload(file) {
window.open(file.url)
},
// 3、删除--根据 url 的不同进行匹配删除
handleRemove(file) {
let uploadFiles = this.$refs.pictureUpload.uploadFiles
for (var i = 0; i < uploadFiles.length; i++) {
if (uploadFiles[i]['url'] == file.url) {
uploadFiles.splice(i, 1)
}
}
},
// 点击文件列表中已上传的文件时的钩子
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.dialogVisible = true
},