最佳答案
我需要有一个反应本机 TextInput
组件,将只允许数字字符(0-9)输入。我可以将 keyboardType
设置为 numeric
,这样除了句点(.)之外,我几乎可以输入到那里.但是,这并不能阻止将非数字字符粘贴到字段中。
到目前为止,我想到的是使用 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})
}
这似乎工作,但它似乎是一个黑客。有没有其他方法来做到这一点?