Ich benötige eine React Native- TextInput
Komponente, mit der nur numerische Zeichen (0 - 9) eingegeben werden können. Ich kann das einstellen, keyboardType
auf numeric
das ich bis auf den Punkt (.) Fast zur Eingabe komme. Dies verhindert jedoch nicht, dass nicht numerische Zeichen in das Feld eingefügt werden.
Was ich mir bisher ausgedacht habe, ist, das OnChangeText
Ereignis zu verwenden, um den eingegebenen Text zu betrachten. Ich entferne alle nicht numerischen Zeichen aus dem Text. Fügen Sie dann den Text in ein Statusfeld ein. Aktualisieren TextInput
Sie dann die Value
Eigenschaft through . Code-Snippet unten.
<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})
}
Dies scheint zu funktionieren, aber es scheint wie ein Hack. Gibt es einen anderen Weg, dies zu tun?