次のように 2 つの TextInput フィールドを定義しました。
<TextInput
style = {styles.titleInput}
returnKeyType = {"next"}
autoFocus = {true}
placeholder = "Title" />
<TextInput
style = {styles.descriptionInput}
multiline = {true}
maxLength = {200}
placeholder = "Description" />
しかし、キーボードの「次へ」ボタンを押した後、React Native アプリは 2 番目の TextInput フィールドにジャンプしません。どうすればこれを実現できますか?
ありがとう!
ベストアンサー1
TextInput
前のTextInput
フォーカスがトリガーされたときに、 2 番目のフォーカスを設定しますonSubmitEditing
。
これを試して
2番目のTextInputにRefを追加する
ref={(input) => { this.secondTextInput = input; }}
最初の TextInputの onSubmitEditing イベントにフォーカス機能をバインドします。
onSubmitEditing={() => { this.secondTextInput.focus(); }}
キーボードのちらつきを防ぐために、blurOnSubmit を false に設定することを忘れないでください。
blurOnSubmit={false}
すべて完了すると、次のようになります。
<TextInput
placeholder="FirstTextInput"
returnKeyType="next"
onSubmitEditing={() => { this.secondTextInput.focus(); }}
blurOnSubmit={false}
/>
<TextInput
ref={(input) => { this.secondTextInput = input; }}
placeholder="secondTextInput"
/>