国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

解決vue項目中type=”file“ change事件只執行一次的問題

2024-05-06 15:34:09
字體:
來源:轉載
供稿:網友

問題描述

在最近的項目開發中遇到了這樣的一個問題,當我上傳了一個文件時,我將獲取到的文件名清空后,卻無法再次上傳相同的文件

<template> <div class="hello">   <input type="button" value="上傳文件" name="" id="" @click="updata">   <input type="file" style="display:none" @change="getFile" id="input-file">   <div v-if="fileName">    <p>上傳的文件名:{{fileName}}</p>    <button @click="delFile">清空文件</button>   </div> </div></template><script>import $ from 'n-zepto'export default { name: 'HelloWorld', data () {  return {   fileName: ''  } }, methods:{  updata(){ // 喚起change事件   $('#input-file').click()  },  getFile(e){ // change事件   this.doSomething()  },  doSomething(){ // do something   this.fileName = e.target.files[0].name  },  delFile(){   this.fileName=''  } }}</script>

因為我只是將data中的屬性值清空而已,文件名沒有變當然會不出發change事件

解決辦法

目前網上有好多解決辦法,但基本上都無法在vue上使用,于是我想到了v-if

v-if 是“真正”的條件渲染,因為它會確保在切換過程中條件塊內的事件監聽器和子組件適當地被銷毀和重建。

于是在代碼中加入了一個小的開關,喚起change事件時就將他銷毀

事件結束時再將它重建,這樣問題就輕松的解決了

<template> <div class="hello">   <input type="button" value="上傳文件" name="" id="" @click="updata">   <input v-if="ishowFile" type="file" style="display:none" @change="getFile" id="input-file">   <div v-if="fileName">    <p>上傳的文件名:{{fileName}}</p>    <button @click="delFile">清空文件</button>   </div> </div></template><script>import $ from 'n-zepto'export default { name: 'HelloWorld', data () {  return {   fileName: '',   ishowFile: true,  } }, methods:{  updata(){ // 喚起change事件   $('#input-file').click()   this.ishowFile = false // 銷毀  },  getFile(e){ // change事件   this.doSomething()   this.ishowFile = false // 重建  },  doSomething(){ // do something   this.fileName = e.target.files[0].name  },  delFile(){   this.fileName=''  } }}</script>

總結

以上所述是小編給大家介紹的vue項目中解決type=”file“ change事件只執行一次的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對錯新站長站網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 定安县| 临武县| 思茅市| 新和县| 开化县| 方正县| 朝阳市| 保山市| 喜德县| 虎林市| 金湖县| 交口县| 南通市| 无锡市| 长岭县| 承德市| 资阳市| 岗巴县| 黔江区| 商河县| 日喀则市| 西乌珠穆沁旗| 绥阳县| 如东县| 隆回县| 定日县| 新兴县| 南靖县| 同仁县| 正定县| 克什克腾旗| 陆河县| 工布江达县| 博爱县| 开平市| 连江县| 嘉兴市| 黔西| 五华县| 通城县| 吉木乃县|