Necesito tener un TextInput
componente React Native que solo permita ingresar caracteres numéricos (0 - 9). Puedo ajustar la keyboardType
a numeric
la 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 OnChangeText
evento 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 TextInput
travé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?