键盘可见时无法单击按钮-本机响应

时间:2019-09-15 05:12:18

标签: react-native react-native-android

我有一个textInput和一个按钮。当textInput处于焦点状态时,键盘会出现,但是如果您在可见键盘的情况下点击按钮,则首先键盘会消失,然后只有您可以点击按钮。为什么?我如何使其工作,以便可以在可见键盘的情况下轻按按钮?在android studio(Android本机)中开发的应用可以使用可见的键盘获取点击监听器。但是在本地反应时,它不起作用。如果您在按钮以外的任何位置点击,键盘应该会消失,不是吗?但是,如果您在可见键盘的情况下点击按钮,则btn应该会接收侦听器。我正在android设备上对其进行测试。

P.S,您可以在这里尝试:https://snack.expo.io/@codebyte99/addcomponents

<TextInput
    placeholder={'Type smth'}
    style={[{ borderBottomColor: 'gray', borderBottomWidth: 1 }]}
/>

<TouchableOpacity onPress={() => { this._onPressOut(); }}>
  <Text>click here</Text>
</TouchableOpacity>

3 个答案:

答案 0 :(得分:3)

滚动视图包含一个道具keyboardShouldPersistTaps,用于处理滚动视图内部的键盘点击行为。

根据您的情况,将其命名为<ScrollView keyboardShouldPersistTaps='handled'>

这里是博览会链接scrollview with keyboard

答案 1 :(得分:3)

作为@ thakur-karthik答案的补充:

非常重要的一点是,在滚动视图场景中,当您使用本机模式的滚动视图时,会发生一些奇怪的事情。

仅在模式 的滚动视图中添加keyboardShouldPersistTaps={'always'}无效。

如果您有任何祖先的滚动视图,则他们还必须 在其组件上声明keyboardShouldPersistTaps={'always'}

答案 2 :(得分:0)

仅供参考:如果您使用的是react-native-keyboard-aware-scroll-view,则需要这样做:

<KeyboardAwareScrollView keyboardShouldPersistTaps="always">