我有一个组件,用户可以上传图片,我也想添加一个删除图片的功能。我添加了一个删除当前图像的按钮,但问题在于表单也被提交,我想避免这种情况。我只需要删除当前图像,如果它存在。这是脚本:Vue - 点击按钮提交表格
<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>
我试图与放置event.preventDefault()
在removeImage方法,但是呢,如果我删除的图像后尝试上载同一个再不会上传。不知道该怎么办?
尝试'预防'[事件修改器](https://vuejs.org/guide/events.html#Event-Modifiers) –
我已经删除图像并尝试立即上传相同的图像后,它仍然赢得'上传。其他场景都可以运作,但只有这一点不适用。 – Marco
你能为这个问题创建一个可用的JSfiddle吗? –