#react-native #react-navigation #redux-form
#react-native #реакция-навигация #redux-форма
Вопрос:
У меня есть представление, в котором есть поле формы redux, связанное с вводом текста.
Прежде всего, есть ли способ показать эту клавиатуру при первоначальном рендеринге без скольжения в анимации?
Во-вторых, по завершении редактирования есть ли способ сохранить клавиатуру там?
Я попытался установить blurOnSubmit
значение false
в TextInput
, кажется, это мешает мне потерять фокус, щелкнув снаружи.
Наконец, на этой странице также есть кнопка, которая запускает запрос с введенным значением, при разрешении модальное значение будет скользить снизу вверх, чтобы показать экран успеха. Этот модал реализован с помощью react-navigation
. Модальная клавиатура имеет относительно небольшую прямоугольную форму, а остальная часть прозрачна. Таким образом, пользователи могут видеть исходную страницу, даже когда установлен режим success. В этом случае есть ли способ всегда отображать клавиатуру на исходном экране, даже когда включен режим modal?
Комментарии:
1. попробуйте вызвать
focus()
для вашего ввода текста приcomponentWillReceiveProps
событии2. Спасибо, Hend. Этот вид работает с двумя другими проблемами. Первый — когда я нажимаю кнопку за пределами textinput, клавиатура немного щелкает, я думаю, это вызвано вызовом focus для каждого WillReceiveProps. Другая проблема заключается в том, что когда модальный режим включен, клавиатура, похоже, находится на том же уровне, что и модальный, а не на том же уровне, что и TextInput.
Ответ №1:
Прежде всего, есть ли способ показать эту клавиатуру при первоначальном рендеринге без скольжения в анимации?
Нет. React Native не поддерживает способ отключения анимации слайдов.
Во-вторых, по завершении редактирования есть ли способ сохранить клавиатуру там?
Если текстовый ввод отображается внутри ScrollView, добавьте keyboardShouldPersistTaps=handled
. https://facebook.github.io/react-native/docs/scrollview#keyboardshouldpersisttaps. Она будет удерживать фокус.
Комментарии:
1. Спасибо тебе, Эстевао. Это хорошо работает для одной страницы, как только появляется модальная, она по-прежнему скрывает клавиатуру.
2. Единственный способ сохранить клавиатуру открытой — это сохранить фокус при вводе текста. Если TextInput потеряет фокус, клавиатура сразу же закроется.