Necesito tener un TextInputcomponente React Native que solo permita ingresar caracteres numéricos (0 - 9). Puedo ajustar la keyboardTypea numericla que casi me lleva allí para la entrada a excepción del punto (.). Sin embargo, esto no hace nada para dejar de pegar caracteres no numéricos en el campo.
Lo que se me ocurrió hasta ahora es usar el OnChangeTextevento para ver el texto ingresado. Elimino los caracteres no numéricos del texto. Luego ponga el texto en un campo de estado. Luego actualice la propiedad a TextInputtravés de ella Value. Fragmento de código a continuación.
<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})
}
Esto parece funcionar, pero parece un truco. Hay otra manera de hacer esto?