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'代替。

猜你喜欢

转载自www.cnblogs.com/hai-cheng/p/9146780.html
今日推荐