问题解剖
首先说一下上传的文件,路径、名称完全相同,才是同一个文件;
上传时连续同一文件点击上传;
谷歌浏览器不会重复加载。
直到这里都不算bug,只是防止重复上传时重复加载的问题,下面接着看:
关闭弹窗后打开下一条数据的弹窗,上传同一文件,也不会重新加载,打印value发现value不清空。这样同一文件连续上传就会一直为空一直不能上传。产生bug。
问题产生原因
谷歌浏览器中input的onChange事件默认保存上一次input进去的value,同一个value(根据文件路径判断)在重复上传时不重新加载。
因为公司产品主要用的是谷歌浏览器和火狐浏览器,所以试了火狐,没有问题。
又上网找了一下,360浏览器也有谷歌浏览器同样的问题。
解决办法
单个文件上传按钮
首先找到input,有class拿class,没有的话定义一个。(react里是className)
<input
type='file'
className