React Native:在ScrollView中更改焦点时键盘关闭

All*_*ang 7 ios react-native

在我的React Native 0.22 iOS应用程序中,我有一个ScrollView包含多个TextInput元素.

我注意到当我通过点击下一个TextInput将焦点从一个TextInput更改为另一个TextInput时,键盘将会解除,而下一个键盘TextInput将不会立即聚焦.它只关注我第二次点击它(然后键盘再次回来,非常糟糕的体验).

此行为仅发生TextInputScrollView,但不是View.我想知道是否有办法解决它?

谢谢!

小智 11

keyboardShouldPersistTaps={true} 弃用

false,弃用,'never'改为使用

true,弃用,'always'改为使用


Mih*_*hir 7

只需为keyboardShouldPersistTaps="always"您的滚动视图提供支持.

来自文档 -

  • 'never'(默认值),当键盘向上时,在聚焦文本输入外部轻敲键盘.发生这种情况时,孩子们不会收到水龙头.
  • 'always',键盘不会自动消失,滚动视图不会捕捉到点击,但滚动视图的子节点可以捕捉到点击.
  • '处理',当孩子处理水龙头(或由祖先捕获)时,键盘不会自动解除.false,弃用,使用'never'代替true,弃用,使用'always'代替

文档:https://facebook.github.io/react-native/docs/scrollview#keyboardshouldpersisttaps


Ale*_*lex 6

只需将以下内容添加到您的滚动视图中:

keyboardShouldPersistTaps='handled'
Run Code Online (Sandbox Code Playgroud)

如果没有聚焦的可编辑控件,这将使滚动视图隐藏键盘。