React-Native TextInput 组件需要点击两次才能获取子组件的回调事件 - 解决

TextInput控件后面根了一个搜索按钮,当TextInput中输入内容后,点击搜索获取内容,并触发搜索, Bug : 不能触发回调

解决: keyboardShouldPersistTaps={'always'}
keyboardShouldPersistTaps enum('always', 'never', 'handled', false, true)

(注:很多人反应TextInput无法自动失去焦点/需要点击多次切换到其他组件等等问题,其关键都是需要将TextInput放到ScrollView中再设置本属性) FlatList 也一样 ,只要是滚动的容器组件

'never'(默认值),点击TextInput以外的子组件会使当前的软键盘收起。此时子元素不会收到点击事件。
'always',键盘不会自动收起,ScrollView也不会捕捉点击事件,但子组件可以捕获。
'handled',当点击事件被子组件捕获时,键盘不会自动收起。这样切换TextInput时键盘可以保持状态。多数带有TextInput的情况下你应该选择此项。
false,已过期,请使用'never'代替。
true,已过期,请使用'always'代替。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容