如何在本机反应中关闭系统键盘

Posted

技术标签:

【中文标题】如何在本机反应中关闭系统键盘【英文标题】:How can I close system keyboard in react native 【发布时间】:2016-09-30 21:10:27 【问题描述】:

我面临的问题是我似乎没有 api 可以关闭系统键盘。在我的代码中,组件渲染方法如下所示:

<TouchableOpacity onPress=()=>alert("1111")>
    <Text>Alert</Text>
</TouchableOpacity>
<TextInput/>

因此,如果我现在按下 TextInput,系统键盘将按预期显示。但是当我按下上面的文本Alert 时,我只想关闭系统键盘(并提醒一些东西)。但是我在 rn 0.23.1 中尝试了 win7,按下的文本 Alert 不会关闭系统键盘。我应该怎么做才能解决这个问题?

【问题讨论】:

试试这个***.com/a/33560861/2125612 太好了,它对我有用,非常感谢。而且我真的认为 facebook 可以为我们提供详细的文档... 【参考方案1】:

如果您向 TextInput 添加 ref,您可以在 onPress 中调用 blur()。相反,您始终可以通过调用focus() 来切换键盘。

<TouchableOpacity onPress=()=>
  this.refs.Input.blur()
  alert("1111")
>
  <Text>Alert</Text>
</TouchableOpacity>
<TextInput ref="Input"/>

【讨论】:

【参考方案2】:

试试这个

import Keyboard from 'react-native;

<TouchableOpacity onPress=() => Keyboard.dismiss()> <Text>Alert</Text> </TouchableOpacity> <TextInput ref="Input"/>

【讨论】:

以上是关于如何在本机反应中关闭系统键盘的主要内容,如果未能解决你的问题,请参考以下文章

如何在本机反应中关闭模态

如何在 React Native 中检测键盘何时打开或关闭

防止在本机反应中按下 TextInput 时显示系统键盘

如何在移动 android/iOs(本机应用程序)中关闭 webview

如何在 Android SearchView 中关闭键盘?

在 React Native 中关闭多行 TextInput 中的键盘