【发布时间】:2022-01-07 11:44:27
【问题描述】:
我有一个用户可以上传图片的组件,我还想添加一个删除图片的功能。我添加了一个删除当前图像的按钮,但它的问题是表单也被提交,我想避免这种情况。我只需要删除当前图像(如果存在)。这是脚本:
<template>
<div class="Image-input">
<div class="Image-input__input-wrapper">
<h2>+</h2>
<input @change="previewThumbnail" class="Image-input__input" name="image" type="file">
</div>
<div class="Image-input__image-wrapper">
<i v-show="! imageSrc" class="icon fa fa-picture-o"></i>
<img v-show="imageSrc" class="Image-input__image" :src="imageSrc">
<button v-show="imageSrc" @click="removeImage">Remove image</button>
</div>
</div>
</template>
<script>
export default {
props: ['imageSrc'],
methods: {
previewThumbnail: function(event) {
var input = event.target;
if (input.files && input.files[0]) {
var reader = new FileReader();
var vm = this;
reader.onload = function(e) {
vm.imageSrc = e.target.result;
}
reader.readAsDataURL(input.files[0]);
}
},
removeImage: function removeImage(e) {
this.imageSrc = '';
}
}
}
</script>
我尝试在 removeImage 方法中放置event.preventDefault(),但是,如果我在删除图像后尝试再次上传相同的图像,它不会上传。不知道该怎么办?
【问题讨论】:
-
试试
preventevent modifier -
我删除了图片并尝试立即上传同一张图片后,仍然无法上传。其他所有场景都有效,只有这个无效。
-
您能否为该问题创建一个有效的 JSfiddle?
标签: javascript vue.js