添加字段并使用redux-form和react-dropdown自动对焦

时间:2018-07-30 07:14:44

标签: javascript reactjs redux react-redux redux-form

我正在尝试使用redux-form(7.4.2)和react-dropdown(1.5.0)来实现这一点:

  1. 我的redux表单首先只有一个react-下拉列表
  2. 在下拉列表中选择一个值后,具有自动对焦功能的新redux-form字段将添加到表单中

有关代码,请参见https://codesandbox.io/s/7ow3l2yn7j。在Edge 42中,它按预期方式工作:选择该值时,将显示新字段并对其进行聚焦。问题是在Windows的Chrome 67中,出现了新字段,但没有焦点。如何在两个浏览器中都可以使用它?

其他详细信息

使用redux-devtools-extension for Chrome,看起来新字段获得了焦点,但是BLUR事件删除了焦点。如果我使用redux-form Simple Form Example方法而不是react-dropdown来实现下拉菜单,那么焦点将在Chrome中起作用。您可以在codeandbox的useReactDropdown中更改form.js的值以查看区别。

更新:似乎在react-dropdown中链接到onMouseDown

https://codesandbox.io/s/2w099pv00p是上述沙箱的一个分支,有两个区别:

  1. 反应下拉列表直接包含在沙箱(dropdown.js)中,而不是使用依赖项
  2. dropdown.js的第98行上的onMouseDown挂钩已被注释掉。

在注释掉第98行之后,新字段将集中在Chrome 67上,这是我期望的。向后注释行会破坏自动对焦。知道为什么会发生这种情况吗?

0 个答案:

没有答案