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();
}