【问题标题】:i want keyboard not to show up at all when i touch my text input-React-Native当我触摸我的文本输入-React-Native 时,我希望键盘根本不显示
【发布时间】:2017-07-26 09:35:49
【问题描述】:

当我触摸我的文本输入时,我希望键盘根本不显示。如果我使用“Keyboard.dismiss”,我会失去对文本输入的关注,我使用的是自定义键盘,它本身就是我屏幕的一部分,所以我不'不希望任何键盘出现而不会失去对我的文本输入的关注,请提供任何解决方案。我尝试使用库但一次又一次地面临同样的问题我该怎么办。这是我正在使用的代码

<TextInput onFocus={Keyboard.dismiss}>

【问题讨论】:

  • edit您的问题显示the code you have so far。您应该至少包含您遇到问题的代码的大纲(但最好是minimal reproducible example),然后我们可以尝试帮助解决具体问题。您还应该阅读How to Ask
  • 你试过了吗:Keyboard.addListener('keyboardDidShow', () =&gt; Keyboard.dismiss());。我没有测试它,它可能会在关闭它之前闪烁键盘,但作为一个建议可能值得一试。

标签: react-native


【解决方案1】:

使用&lt;TextInput showSoftInputOnFocus={false} /&gt; 当您专注于文本输入时,它将隐藏键盘。

【讨论】:

【解决方案2】:

ReactNative TextInput 有 showSoftInputOnFocus 属性,这是由于文档应该隐藏键盘。但是好像不行。

我找到了这个解决方案,对我有用:

 <>
<TouchableWithoutFeedback onPress={this.toggleVisible}>
  <View>
    <View pointerEvents="none">
      <Input
        value={String(value)}
        placeholder={placeholder}
      />
    </View>
  </View>
</TouchableWithoutFeedback>
<DateTimePicker
  isVisible={this.state.visible}
  onConfirm={onChange}
  onCancel={this.toggleVisible}
/>

【讨论】:

【解决方案3】:

正确的方法是用键盘封装 View 调用 Keyboard.dismiss() 你应该使用 TouchableWithoutFeedback 以便点击它应该禁用 键盘

<TouchableWithoutFeedback onPress={Keyboard.dismiss}>
    <TextInput keyboardType='numeric'/>
</TouchableWithoutFeedback> 

试试这个或许能解决问题

【讨论】:

  • 谢谢,但整个目的不是让我从文本框中失去焦点,这样我就可以使用我的键盘了
猜你喜欢
  • 1970-01-01
  • 2021-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-31
  • 2013-01-05
相关资源
最近更新 更多