Ich benötige eine React Native- TextInputKomponente, mit der nur numerische Zeichen (0 - 9) eingegeben werden können. Ich kann das einstellen, keyboardTypeauf numericdas 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 OnChangeTextEreignis 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 TextInputSie dann die ValueEigenschaft 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?