Принудительный фокус ReactNative TextInput - PullRequest
0 голосов
/ 11 октября 2018

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

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

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

1 Ответ

0 голосов
/ 11 октября 2018

Вам необходимо присвоить поле 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#addlistener-subscribe-to-updates-to-navigation-lifecycle

...