Принудительный фокус 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