Принудительный фокус ReactNative TextInput

У меня возникли проблемы с фокусировкой реагирующего нативного поля TextInput. Это сфокусировано, когда страница загружается с autofocus={true},

Но после размытия мне нужно нажать на поле ввода текста, но это скрыто по причинам дизайна. Есть ли способ document.getElementById("myText").focus(); в реагировать родной, что я могу позвонить после onBlur()?

Приветствия.

1 ответ

Вам необходимо назначить TextInput поле к ref как это: <TextInput ref={ref => (this.ref = ref)} />

Затем вы можете программно сфокусировать его, запустив focus() на нем вот так: this.ref.focus();

Вот небольшая закуска, где я запускаю функцию фокусировки / размытия при нажатии кнопки: https://snack.expo.io/@marcelkalveram/auto-focus-input-field-using-ref

Это должно быть легко скопировать это для вашего сценария навигации.

В случае, если вы используете реагирующую навигацию, эта часть документов вас заинтересует: https://reactnavigation.org/docs/en/navigation-prop.html

Другие вопросы по тегам