加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

react-native – 仅接受数字字符的React Native TextInput

发布时间:2020-12-15 20:52:54 所属栏目:百科 来源:网络整理
导读:我需要一个React Native TextInput组件,它只允许输入数字字符(0 – 9).我可以将键盘类型设置为“数值”,几乎可以让我在那里输入,除了期间(.).但是,这并不阻止将非数字字符粘贴到字段中. 到目前为止我所想出的是使用OnChangeText事件来查看输入的文本.我从文
我需要一个React Native TextInput组件,它只允许输入数字字符(0 – 9).我可以将键盘类型设置为“数值”,几乎可以让我在那里输入,除了期间(.).但是,这并不阻止将非数字字符粘贴到字段中.

到目前为止我所想出的是使用OnChangeText事件来查看输入的文本.我从文本中删除任何非数字字符.然后将文本放在一个状态字段中.然后通过它的Value属性更新TextInput.下面的代码片段

<TextInput 
  style={styles.textInput}
  keyboardType = 'numeric'
  onChangeText = {(text)=> this.onChanged(text)}
  value = {this.state.myNumber}
/> 

onTextChanged(text) {
  // code to remove non-numeric characters from text
  this.setState({myNumber: text})
}

这似乎工作,但它似乎是一个黑客.有另一种方法吗?

这是正确的方法,直到这种组件(或TextInput上的属性)被专门开发.

网络具有输入元素的“数字”类型,但是基于Web的并且反应本身不使用网络视图.

您可以考虑将该输入创建为自己的反应组件(可能调用NumberInput):这将使您能够重用它,或者甚至可以开源,因为您可以创建具有不同值过滤器/检查器的许多TextInput.

立即纠正的缺点是确保向用户提供正确的反馈,以防止对他的价值发生了什么事情的混淆

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读