Ich habe eine Komponente, wo ein Benutzer ein Bild hochladen kann, und ich möchte auch eine Funktion zum Entfernen eines Bildes hinzufügen. Ich habe eine Schaltfläche hinzugefügt, die das aktuelle Bild entfernt, aber das Problem dabei ist, dass das Formular ebenfalls gesendet wird, und das möchte ich vermeiden. Ich muss nur das aktuelle Bild entfernen, wenn es existiert. Dies ist das Skript:Vue - Taste auf Klick sendet ein Formular
<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>
ich bei der Platzierung event.preventDefault()
im removeImage Methode versucht, aber dann, wenn ich nach dem Bild zu entfernen versuchen, das gleiche laden wieder wird es nicht hochgeladen werden. Nicht sicher, was ich dagegen tun soll?
Versuchen Sie 'prevent' [eventmodifier] (https://vuejs.org/guide/events.html#Event-Modifiers) –
Nachdem ich das Bild entfernt habe und versuche, das gleiche Bild sofort hochzuladen, hat es noch gewonnen ' t hochladen. Jedes andere Szenario funktioniert, nur dieses nicht. – Marco
Können Sie eine funktionierende JSfiddle für das Problem erstellen? –