我有一个自动完成屏幕,其中最顶部是textInput
,下面是一个可触摸的自动完成列表。但是,当键盘启动时,我必须触摸自动复合两次:第一次关闭键盘,第二次实际触摸自动完成。如何一触即可实现上述目标。
答案 0 :(得分:1)
keyboardShouldPersistTaps='handled'
或keyboardShouldPersistTaps='always'
是您问题的答案。
注意:主父滚动视图中存在的所有可滚动视图都应具有此属性keyboardShouldPersistTaps='handled'
注意:Flatlist也是滚动视图,因此Flatlist还要考虑属性keyboardShouldPersistTaps='handled'
答案 1 :(得分:0)
在textInput
下,您会看到显示所有自动完成的列表,通常一个ScrollView
只需将此属性添加到其中keyboardShouldPersistTaps='handled'
它应该看起来像这样:
<ScrollView keyboardShouldPersistTaps='handled'>
{autoCompletes}
</ScrollView>
属性keyboardShouldPersistTaps
告诉应用程序不要关闭键盘,而是让触摸处理程序来处理它,因此键盘会保持其状态。
请参阅此帖子以获取更多详细信息:: Ignore rest of screen when keyboard active