React Inative TextInput blur потребляет событие TouchableHighlight press
У меня есть <TextInput>
, который я бы хотел отправить, когда я нажимаю кнопку Red Post, <TouchableHighlight>
. Когда TextInput сфокусирован, я заканчиваю набирать текст, и я нажимаю на кнопку "Почта", клавиатура закрывается, но кнопка не регистрирует крана.
Я попытался использовать событие TextInput onBlur
, но он не дает мне координат точки касания, поэтому я не знаю, действительно ли касательная точка над кнопкой или нет.
![screenshot]()
Ответы
Ответ 1
Вам нужно добавить свойство keyboardShouldPersistTaps = {true} в свой ScrollView.
Вот что docs говорит:
keyboardShouldPersistTaps bool:
Если значение false, нажмите вне фокуса текста, когда клавиатура закрывает клавиатуру. Когда true, просмотр прокрутки будет не улавливайте краны, и клавиатура не будет автоматически удаляться. значение по умолчанию - false.
Ответ 2
@frank, я думаю, вы нашли работоспособное решение, но в дополнение к "keyboardShouldPersistTaps", если вы закроете свое представление в элементе TouchableWithoutFeedback с помощью onPress, который вызывает функцию rejectKeyboard, это должно устранить проблему.
<ScrollView keyboardShouldPersistTaps={true} ref='scrollView'>
<TouchableWithoutFeedback onPress={dismissKeyboard}>
<View>
-View Content-
</View>
</TouchableWithoutFeedback>
</ScrollView>