React input[type='file'] 连续上传同一文件不触发onChange事件的解决方法
2020-03-17 18:31
1836 查看
在使用
type类型为file的input来上传文件时,发现连续上传同一个文件,第二次以后就不会再触发onChange事件,原因是
onChange事件触发的条件为其value发生变化,上传文件时,该input的value值为文件在磁盘中的位置。知道了触发条件以后,我们就可对症下药:
改变value值即可。
方法1
在input元素中添加onClick事件,点击时将其value置空即可。
<input type='file' accept='.xlsx, .xls' onClick={(event)=> { event.target.value = null }} onChange ={this.onImportExcel} />
方法2
其实也一样,就是获取该元素,将其值在合适的地方将其置为空即可。
<input id='file' type='file' accept='.xlsx, .xls' onChange={this.onImportExcel} /> //在合适的地方设置其值为null document.getElementById('file').value = null;
- 点赞 2
- 收藏
- 分享
- 文章举报
相关文章推荐
- html input的file文件输入框onchange事件触发一次失效解决方法
- onclick事件触发 input type=“file” 上传文件
- Android webview Input type=file 文件上传 解决方法
- ajax回调函数中不能触发input[type='file']事件的解决方法
- html input的file文件输入框onchange事件触发一次失效解决方法
- 解决JS(Vue)input[type='file'] change事件无法上传相同文件的问题
- input输入框file类型第二次不触发onchange事件的解决办法,简单有效
- input输入框file类型选择同样输入框第二次不触发onchange事件的解决办法
- IE input file隐藏不能上传文件解决方法
- IE input file隐藏不能上传文件解决方法(转载)
- IE input file隐藏不能上传文件解决方法
- 图片上传时input file change事件多次触发解决
- 解决<input type=“file” multiple> 多文件上传问题(可以多次选取文件,也可以一次选取多个文件),而且点击的是一个同一个div
- 解决微信内嵌浏览器无法响应<input type='file'>上传文件的思路
- 图片上传时input file change事件多次触发解决
- IE input file隐藏不能上传文件解决方法
- 使用input type=file标签进行文件上传时,在安卓手机中的微信浏览器中不能调起相机,但是在苹果手机中的微信浏览器中可以调用相机。解决办法很简单, <input type="file" nam
- 动态input file多文件上传到后台没反应的解决方法!!!
- IE input file隐藏不能上传文件解决方法
- React —> input标签输入中文的拼音时候会触发onChange事件解决