Добавьте keyboardShouldPersistTaps prop в FlatList.
<FlatList
keyboardShouldPersistTaps={'handled'}
data={...}
renderItem={...}
... />
Аналогичное предложение было предложено в этом выпуске Github . Но вы не используете ScrollView. Несмотря на то, что FlatList не задокументировано, что имеет реквизит keyboardShouldPersistTaps
, у него есть его, потому что FlatList является «удобной оберткой вокруг <VirtualizedList>
и, таким образом, наследует свои реквизиты (так же как и реквизиты <ScrollView>
)». source
Альтернатива: отключить клавиатуру в вашем обработчике поиска TextInput, вот как приложение Gmail выполняет поиск. Как только ваш пользователь закончит набирать текст и нажмет «отправить», Keyboard.dismiss()
. Это не будет работать, если пользователь не обязан «отправлять», как, например, работает большинство приложений браузера.