LoginSignup
14
8

More than 3 years have passed since last update.

同じファイルをuploadしたときに@changeが発火しない

Last updated at Posted at 2019-09-08

同じファイルをupload時に@changeが発火しない

Vue.jsでこの記事を参考に画像アップロード・プレビュー機能を作っていたら、一度アップした画像を取り消した後再度同じ画像をアップすると@changeが発火しなかった

解決策

refでDOM要素を引っ張ってvalueを消す

form.vue
<template>
...
  <label class="img-title-label" v-show="!imageUrl"
    >画像を選択
    <input ref="imageUploader" type="file" @change="onFileChange" />
  </label>
...
</template>

<script>
...
  methods: {
    removeImage() {
      this.$refs.imageUploader.value = ''
      this.imageUrl = ''
      this.imageTitle = ''
    }
}
...
</script>

ref は要素または子コンポーネントに参照を登録するために使用されます。参照は親コンポーネントの $refs オブジェクトのもとに登録されます。プレーンな DOM 要素に使用する場合は、参照はその要素になります。

公式ドキュメント
参照が残ってるってことでよいのかしら

thanks

14
8
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
8