Reactjs 如何以编程方式在材质UI选择字段上触发focus()?

Reactjs 如何以编程方式在材质UI选择字段上触发focus()?,reactjs,material-ui,Reactjs,Material Ui,“我的应用程序表单”使用“回车”按钮在十键键盘上对指定字段进行制表以提高速度。当按下enter键时,我们将执行DOM查找并在下一个元素上触发focus()。这在文本字段上非常有效,但我不明白如何在材质UI的选择框上实现这一点Beta@1.0.0-β.21。我可以获取构成Select结构的每个DOM元素,但在任何级别触发focus()都不会产生任何效果。 注意:我可以通过select上的inputRef获取项目的ref,以防止我们遍历DOM,但它仍然不会产生任何结果 关于GitHub的问题: 代码

“我的应用程序表单”使用“回车”按钮在十键键盘上对指定字段进行制表以提高速度。当按下enter键时,我们将执行DOM查找并在下一个元素上触发focus()。这在文本字段上非常有效,但我不明白如何在材质UI的选择框上实现这一点Beta@1.0.0-β.21。我可以获取构成Select结构的每个DOM元素,但在任何级别触发focus()都不会产生任何效果。 注意:我可以通过select上的inputRef获取项目的ref,以防止我们遍历DOM,但它仍然不会产生任何结果

关于GitHub的问题:


代码沙盒示例:

传递给Select.props.inputRef()节点引用一个隐藏的输入。您需要对呈现为其同级的
div
进行
focus()
。另外,您需要首先在
handleKeyPressInternal()
中处理
选择
元素大小写,因为
getElementsByName()
将返回
输入

但是,这感觉不对,因为您依赖于
Select
将可聚焦
div
渲染为其直接同级。可以在
选择
上扩展
inputRef()
,以返回可直观接收焦点的节点


啊,谢谢你的帮助。我尝试在div的DOM树中的每一层上对其进行focus()操作,但我没有尝试过。previousSibling(我想使用jQuery的时间太长了)。我将进一步调查,看看是否可以巩固div,以防Select的DOM结构发生变化,特别是因为我使用的是materialui beta.Demo看起来已经损坏了