我需要有一个TextInput
只允许输入数字字符(0-9)的React Native组件。我可以设置keyboardType
到numeric
几乎让我在那里除了周期输入()。但是,这并不能阻止将非数字字符粘贴到该字段中。
到目前为止,我想出的是使用OnChangeText
事件来查看输入的文本。我从文本中删除了所有非数字字符。然后将文本放在状态字段中。然后TextInput
通过它的Value
属性更新。下面的代码段。
<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})
}
这似乎可行,但似乎很简单。还有另一种方法吗?