TextInput:当maxLength满时自动聚焦下一个字段

时间:2016-01-29 13:36:44

标签: react-native

我的应用程序中有一个问题,TextInput用于银行卡号码数字(错误,因为用户没有输入所有16位数字)。

所以我想在4个TextInputs上剪切CB编号,并在填充4个数字后自动关注下一个字段。 (正如在网络应用程序中看到的那样)

但是当我关注下一个字段时,即使状态设置正确,当前也会变为空。

您是否了解我该怎么做或者不可能?

即。请参阅此示例中的onChangeText(实际为exp日期):

<TextInput
    ref='card_exp_date_mm'
    style={[styles.inputTxt, {width: 30, flex: 0}]}
    value={this.state.cardExpDateMonth}
    keyboardType='numbers-and-punctuation'
    placeholder='MM'
    returnKeyType='next'
    clearTextOnFocus={false}
    autoCorrect={false}
    placeholderTextColor={Constants.placeholderTextColor}
    maxLength={2}
    enablesReturnKeyAutomatically={true}
    blurOnSubmit={false}
    onChangeText={text => {
      this.setState({cardExpDateMonth: text})
      //console.log('onChangeText', this.refs.card_exp_date_mm)
      if(text && text.length == 2){
        this.refs.card_exp_date_aa.focus();
      }
    }}
    onSubmitEditing={()=>this.refs.card_exp_date_aa.focus()}/>

1 个答案:

答案 0 :(得分:4)

你可以做in this example之类的事情:

T

你应该检查一下这个例子,它涵盖了你要搜索的内容。