SoAanyip / React-FileUpload

Upload files async with xhr2 or iframe for IE. Supporting IE8+. React component.
310 stars 95 forks source link

IE9多个FileUpload组件共存问题 #41

Open leverz opened 7 years ago

leverz commented 7 years ago

在我的页面中有需要使用多个FileUpload组件实现上传功能。 然而我发现,在IE9中,如果在同一个页面中使用多个FileUpload组件只有第一个上传按钮会生效。 查看代码发现,你们在处理IE9的多文件上传时,针对每次上传都创建了一个独立的form表单。你们用全局变量currentIEID用来区分每个新增的form。 我认为这里的关键问题就是你们使用了全局变量作为区分,如果我需要实例化多个FileUpload组件,各个FileUpload组件之间将无法区分。

leverz commented 7 years ago

我通过修改你们的代码,已经修复了这个bug。

leverz commented 7 years ago

我首先保留了全局的currentIEID,在多个FileUpload组件的情况下,每个FileUpload的初始ID都是从currentIEID这里读取。 我在组件内部的添加了另一份currentIEID,作为每个组件内部维护的,主要是为了防止修改bug影响到多文件上传。IE9中每个form表单的唯一标示通过计算全局的currentIEID和组件内部的currentIEID得出。