页面刷新(Microsoft Edge)时无法清除受控输入

时间:2019-05-28 14:27:51

标签: javascript reactjs microsoft-edge

我有一个ReactJS应用程序,并使用简单的html标签创建了一个受控组件。

问题是,在Microsoft Edge中通过刷新按钮刷新页面或按F5键(当从导航栏输入内容时,它工作正常)时,输入值无法正确清除,它们被卡住了。如果我开始输入表单的任何输入,那么它们就会消失。

证据:https://www.screencast.com/t/kJupEbHykZ1X

我已经尝试过:

-清除 windows.onload
上的值 -在输入标签
上设置 autocomplete ='off' -创建超时功能。

为了进行测试,我在所有地方添加了 console.logs ,以确保所有生命周期方法都被调用,并且每个方法中的状态都是空的。

我也遇到过这篇文章:https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/21174802/

但是这些似乎都无法解决问题。

<input
  id={`input-${id}`}
  key={`input-${id}`}
  type={inputType}
  value={value}
  autoComplete="off"
  onChange={this.handleValueChange}
/>

1 个答案:

答案 0 :(得分:0)

Internet Explorer和Edge正在缓存输入标签。在Windows上,按Ctrl + F5快捷键即可进行硬刷新。但是对我来说,我在Edge中按Ctrl +双击F5,然后刷新。您也可以参考this thread