2017-10-24 22 views
2

私はReact Native 0.48.4を使用しています。 次のTextInputの選択方法は?私は「refが」あなたのTextInputコンポーネントにコールバックする変数を割り当て、次のテキストを移動するには反応ネイティブの入力

まず、このコードの下に、それは私のために働いていない

<TextInput 
    returnKeyType={'next'} 
    secureTextEntry={true} 
    style={styles.textBox} 
    keyboardType = 'number-pad' 
    maxLength = {1} 
    autoFocus={true} 
    blurOnSubmit={true} 
    onSubmitEditing={(event) => { 
    this.refs.SecondInput.setFocus(); 
    }} 
    onChange={this.onChangePassCode} 
    onChangeText={(passCode) => this.setState({passCode})} 
/> 
<TextInput 
    ref='SecondInput' 
    returnKeyType='next' 
    secureTextEntry={true} 
    style={styles.textBox} 
    keyboardType = 'number-pad' 
    maxLength = {1} 
    blurOnSubmit={false} 
    onChange={this.onChangePassCode} 
    onChangeText={(passCode) => this.setState({passCode})} 
/> 
+0

変える 'this.refsで直接操作を検索するには、この格納された変数に「焦点を()」と呼びます。これは 'this.refs.SecondInput.focus();に変更されました。 – bennygenel

+0

は' this.refs.SecondInput.focus(); 'になります。 –

+0

'this.refs.SecondInput.focus();に変更されました。 'それはまた動作しません – achu

答えて

5

で典型的なユースケースのログインとパスワードを以下に示す試してください。 注: 'ref'は廃止された直接変数ではなく、コールバック関数になりました。は今

<TextInput 
    keyboardType='email-address' 
    returnKeyType='next' 
    onSubmitEditing={() => this.passwordRef.focus()} 
    onChangeText={(email) => this.setState({email})} 
/> 

<TextInput 
    ref={passwordRef => this.passwordRef = passwordRef} 
    returnKeyType='done' 
    autoCorrect={false} 
    onChangeText={(password) => this.setState({password})} 
/> 

以下に示すようTextInputのことを集中し、これらのドキュメントを読み、しようと反応するネイティブ https://reactjs.org/docs/refs-and-the-dom.html#the-ref-callback-attribute

+0

自動的に次のテキストインプットに移動する可能性があれば@Raviラジ、それは私のために働いてくれてありがとう – achu

+0

あなたは何を自動で意味しますか?わかりません。 Uは、この方法で任意の数のTextInputを使用できます。 –

+0

はい。例えば、私のTextInputは 'maxLength'が2つの文字を入力した後に2ですが、可能ならば次のTextInputに移動する必要がありますか? – achu

関連する問題