Aquí está mi fragmento de código de un componente TextInput en React-Native:
El renderizado en el simulador se ve así:
Quiero hacer que el campo de entrada solo acepte un número decimal <= 11.99 para imitar la entrada más alta de pulgadas para la altura de una persona. En la función onChangeText , estoy actualizando el valor del estado. ¿Alguna idea de cómo puedo implementar esta entrada vinculada con un valor máximo? ¿Verifico el valor dentro onChangeText y luego establezco los valores en consecuencia?
En lugar de step="any" , que permite cualquier cantidad de lugares decimales, use step=".01" , que permite hasta dos lugares decimales. esta pregunta es duplicada. prueba este enlace permite 2 decimales
Puede verificar el valor de la entrada del usuario en onChangeText .
onChangeText={(value) => { const parsedQty = Number.parseFloat(value) // Convert input value to a Float if(Number.isNaN(parsedQty)){ setFieldValue(0) // In case user input a characters instead of a number } else if(parsedQty >= 11.99) { setFiledValue(11.99) // Set the value to 11.99 if the user input more than 11.99 } else if (parsedQty < 0) { setFieldValue(0) // Set the value to 0 if the user input is below 0. You can customize this part if you want a minimum value } else { setFieldValue(parsedQty) } }}