ユーザーが画像をアップロードできるコンポーネントがありますが、画像を削除する機能も追加したいと思います。私は現在のイメージを削除するボタンを追加しましたが、問題はフォームが提出されていることです、そして、私はそれを避けたいと思います。現在のイメージがあれば削除するだけです。私は、画像を削除した後、再び、それはアップロードされません同じものをアップロードしようとした場合、私は、その後、removeImage方法でevent.preventDefault()
を配置してみましたが、している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>
:これはスクリプトです。それについて何をすべきか分かりませんか?
試してみてください[イベントモディファイア](https://vuejs.org/guide/events.html#Event-Modifiers) –
イメージを削除してすぐに同じイメージをアップロードしようとしても、アップロードする。他のすべてのシナリオは動作しますが、このシナリオだけが動作しません。 – Marco
問題のJSfiddleを作成できますか? –