Javascript 当组件中有多个输入时,如何关注ReactJS中的输入字段?
我正在开发一个ReactJS应用程序。我有一个生成HTML表的组件。使用映射子组件为表生成行。每行包含一定数量的输入字段 编辑输入字段时,在某些情况下会在父组件中触发模式窗口。模式为用户提供了三个按钮供选择。单击模式中的某个特定按钮时,我希望焦点返回到用户正在编辑的输入字段 有谁能给我一些关于如何做到这一点的建议吗 我研究了使用refs,但我看到的所有示例都用一个只有一个输入的组件演示了它。因为模态是从父组件触发的,所以我很难理解如何使用/从子组件获取ref 谢谢你的帮助 我希望焦点返回到用户正在编辑的输入字段 您有多个输入字段,并且希望关注某个输入。要做到这一点,您需要多个参考文献——在您的案例中需要12个参考文献——Javascript 当组件中有多个输入时,如何关注ReactJS中的输入字段?,javascript,reactjs,focus,Javascript,Reactjs,Focus,我正在开发一个ReactJS应用程序。我有一个生成HTML表的组件。使用映射子组件为表生成行。每行包含一定数量的输入字段 编辑输入字段时,在某些情况下会在父组件中触发模式窗口。模式为用户提供了三个按钮供选择。单击模式中的某个特定按钮时,我希望焦点返回到用户正在编辑的输入字段 有谁能给我一些关于如何做到这一点的建议吗 我研究了使用refs,但我看到的所有示例都用一个只有一个输入的组件演示了它。因为模态是从父组件触发的,所以我很难理解如何使用/从子组件获取ref 谢谢你的帮助 我希望焦点返回到用户正
const inputRef = useRef([]);
inputRef.current[i].focus()
<input ref={el => this.myRefs[i] = el} />
<input ref={el => inputRef.current[i] = el} />
this.myRefs[i].focus()
如果您使用的是类组件:
this.myRefs = []
const inputRef = useRef([]);
inputRef.current[i].focus()
<input ref={el => this.myRefs[i] = el} />
使用@user9408899的答案作为指导并进行阅读,我提出了以下解决方案(仅显示与解决方案直接相关的部分代码) 父组件
- 实现了一个
属性来存储我们需要的ref 希望将焦点添加到inputreftocus
- 实现了
以在状态中分配上述属性,并将该属性和setInputRefToFocus(ref)
传递给子组件inputRefToFocus
我觉得代码可以显著改进,因为这是我的第一次尝试查找参考。。。!我正在使用类组件支持我的答案@MrBThanks,如何将ref传递给父组件?我正在从父组件触发一个模态窗口。