React Native 如何防止键盘在文本提交时关闭?

Posted

技术标签:

【中文标题】React Native 如何防止键盘在文本提交时关闭?【英文标题】:React Native How to prevent keyboard from dismissing on text submit? 【发布时间】:2017-12-20 02:00:33 【问题描述】:

我希望能够按键盘上的 Enter 按钮,将注意力集中在 TextInput 上,并保持键盘打开。如何做到这一点?

关于ScrollView 实现的答案是指触摸TextInput 之外的按钮,而不是实际按下键盘上的返回键。

【问题讨论】:

能否提供一些代码 【参考方案1】:

TextInput 上执行此操作的方法是设置blurOnSubmit=false,然后使用onSubmitEditing 作为提交处理程序而不是onEndEditing

  onTextChange(input) 
    this.setState( value: input )
  

  submitValue() 
    // Do things with the value 
    ...
    // Then reset it so the TextInput can be reused
    this.setState( value: '' )
  

    <TextInput
  blurOnSubmit=false
  style=styles.inputBox
  onChangeText=input => this.onTextChange(input)
  onSubmitEditing=() => this.submitValue(this.state.value)
  value=this.state.value
   />

按下返回键this.setState( value: '' ) 以清除TextInput 中的文本。

【讨论】:

你能解释一下blurOnSubmit在做什么吗? blur 与不隐藏键盘有何关系?它工作,但现在看起来像一些黑客/魔术。

以上是关于React Native 如何防止键盘在文本提交时关闭?的主要内容,如果未能解决你的问题,请参考以下文章

React Native 文本输入

React Native:键盘在调整其视图高度时阻止多行文本输入

React Native 数字键盘 returnKeyType 标签 iOS

如何防止在android中打开键盘时反应本机模式向上移动?

react-native: <TextInput/> 删除键盘预测

切换到下一个文本输入字段而不在 react-native 中关闭键盘