Javascript 我试图在提交时自动聚焦到下一个文本输入

Javascript 我试图在提交时自动聚焦到下一个文本输入,javascript,html,react-native,Javascript,Html,React Native,我通过映射组件和传递播放器编号来呈现播放器名称的文本输入。我希望用户点击回车键,屏幕将焦点放在下一个输入上 我试过这个 <TextInput style={styles.nameBox} placeholder="Enter Name" onChangeText={(text) => this.setState({text})} ref={`input-${this.props.number}`} onSubmitEditing={value => { this.se

我通过映射组件和传递播放器编号来呈现播放器名称的文本输入。我希望用户点击回车键,屏幕将焦点放在下一个输入上

我试过这个

<TextInput style={styles.nameBox} placeholder="Enter Name" onChangeText={(text) => this.setState({text})} ref={`input-${this.props.number}`}
  onSubmitEditing={value => {
   this.setState({ value })
   if (value) this.refs.input_2.focus();
}} />
this.setState({text})ref={`input-${this.props.number}`}
onSubmitEditing={value=>{
this.setState({value})
如果(值)此.refs.input_2.focus();
}} />

问题是我不能硬编码输入_2,因为我所有的输入都是这样。我希望它关注“input this.props.number++”,基本上是以下输入。

您可以开发一个返回时触发的函数,并将要获取焦点的输入类型的id作为参数传递

以下示例代码由Aung Myint在中编写:

//示例文本字段
{this.focusTheField('field2');}
/>
{this.inputs['field2']=input}
标签={“字段2”}
/>
//作用
//变量来保存文本字段的引用
输入={};
//函数来聚焦字段
focusTheField=(id)=>{
this.inputs[id].focus();
}
希望这有帮助

//sample text fields

<TextField
  label={"Field 1"}
  blurOnSubmit={ false }
  returnKeyType={ 'next' }
  onSubmitEditing={() => { this.focusTheField('field2'); }}
/>
<TextField
  ref={input => { this.inputs['field2'] = input }}
  label={"Field 2"}
/>

//function

// variable to hold the references of the textfields
inputs = {};
 // function to focus the field
focusTheField = (id) => {
   this.inputs[id].focus();
}