React Native - 当键盘打开时,如何在 ListView 上选择行

6
我正在构建一个React Native应用程序,其中包含 TextInput ListView 视图。 工作原理是当TextInput收到焦点时,键盘打开,用户可以过滤ListView中的数据。 期望的功能是在用户选择列表视图中的一行时,应检测到触摸,并调用方法。 问题是:当键盘打开时,点击列表视图会关闭键盘,并且第二次点击将被列表行检测到(触摸事件不会传播到ListView行)。 有没有什么办法可以让onPress方法检测到第一次触摸? 感谢您提前帮助。

可能是这个问题的重复。 - G. Hamaide
@G.Hamaide 是的,看起来是重复的。谢谢。 - Code Monkey
1个回答

13
您需要在ScrollView中添加属性keyboardShouldPersistTaps={always}
文档中如下所述: keyboardShouldPersistTaps 决定键盘在敲击后是否应保持可见状态。 'never'(默认值):当键盘弹出时,点击文本输入框之外的区域会使键盘消失。这种情况下,子组件将不会接收到该事件。 'always':键盘不会自动消失,且滚动视图将不会捕获点击事件,但是滚动视图的子组件可以捕获点击事件。 'handled':当点击事件被子组件处理或被父元素捕获时,键盘不会自动消失。 false:已弃用,请使用'never'代替。 true:已弃用,请使用'always'代替。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接