700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > vue项目中type=”file“ change事件只执行一次怎样处理

vue项目中type=”file“ change事件只执行一次怎样处理

时间:2019-12-07 16:32:56

相关推荐

vue项目中type=”file“ change事件只执行一次怎样处理

web前端|js教程

vue,type,file,vue,file,change,vue,file,change事件

web前端-js教程问题描述

问卷赚钱网站源码,ubuntu时间壁纸,tomcat8 v8.0,小班体育爬爬虫,php技术的核心是什么教程,seo优化 骗子lzw

在最近的项目开发中遇到了这样的一个问题,当我上传了一个文件时,我将获取到的文件名清空后,却无法再次上传相同的文件

会员电影网源码,ubuntu下内核代码,怪物猎人爬虫位置,php 编写 软件,增城seo技术lzw

上传的文件名:{{fileName}}

网络联盟源码,ubuntu开放ftp武器,tomcat无法识别标识符,招聘网爬虫,php教程字符串学习,海象云seolzw

import $ from -zeptoexport 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=\ } }}

因为我只是将data中的属性值清空而已,文件名没有变当然会不出发change事件

解决办法

目前网上有好多解决办法,但基本上都无法在vue上使用,于是我想到了v-if

v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。

于是在代码中加入了一个小的开关,唤起change事件时就将他销毁

事件结束时再将它重建,这样问题就轻松的解决了

上传的文件名:{{fileName}}

import $ from -zeptoexport 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=\ } }}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。