React Native - щелкните элемент Flatlist (после поиска в списке) - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть Flatlist и TextInput в качестве панели поиска на ListHeaderComponent. Когда я заполнил TextInput и щелкнул по элементу плоского списка (используя TouchableOpacity), есть только действие отклонения клавиатуры, ему нужно нажать второй раз, чтобы иметь возможность выбрать элементы из плоского списка

какое-либо решение?

1 Ответ

0 голосов
/ 14 апреля 2020

Добавьте keyboardShouldPersistTaps prop в FlatList.

<FlatList
  keyboardShouldPersistTaps={'handled'}
  data={...}      
  renderItem={...}
... />

Аналогичное предложение было предложено в этом выпуске Github . Но вы не используете ScrollView. Несмотря на то, что FlatList не задокументировано, что имеет реквизит keyboardShouldPersistTaps, у него есть его, потому что FlatList является «удобной оберткой вокруг <VirtualizedList> и, таким образом, наследует свои реквизиты (так же как и реквизиты <ScrollView>)». source

Альтернатива: отключить клавиатуру в вашем обработчике поиска TextInput, вот как приложение Gmail выполняет поиск. Как только ваш пользователь закончит набирать текст и нажмет «отправить», Keyboard.dismiss(). Это не будет работать, если пользователь не обязан «отправлять», как, например, работает большинство приложений браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...