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

前端之家收集整理的这篇文章主要介绍了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‘代替。

猜你在找的React相关文章