Skip to main content
Entrada numérica con botones, límites e incremento entero o decimal. Categoría: Selección. Uso: Cantidades acotadas o escalas con incrementos discretos. Importa el barrel público y Flutter Material. Código fuente.

Constructor

Esta firma corresponde al código fuente, incluyendo nulabilidad y defaults; las condiciones y el comportamiento se explican debajo.

Propiedades

“Requerido” significa que debes pasar el argumento, incluso cuando su tipo admite null. Los valores null de color suelen delegar al tema; consulta las notas para el rol efectivo.

Ejemplo

Este archivo define una función que devuelve el widget. Llámala desde build con tus datos/callbacks, y conserva el estado y los recursos en su dueño. No ejecuta callbacks ficticios.

Comportamiento y límites

  • minValue/maxValue/step aceptan num; initValue y el callback utilizan double. minValue <= maxValue y step > 0 se comprueban con assert.
  • Los botones aplican step y clamp. El valor se normaliza a diez decimales para reducir residuos de coma flotante.
  • El paso no impone una rejilla a la entrada manual: un valor dentro del rango puede tener otra precisión.
  • La entrada manual válida se confirma al enviar o perder foco; una entrada fuera de rango puede limitarse durante onChanged. Utiliza punto decimal.
  • didUpdateWidget actualiza initValue si cambia y el campo no tiene foco. Cambiar sólo los límites no normaliza de inmediato el valor anterior.
  • No es FormField y no expone una opción enabled. Si necesita bloqueo, úsalo en el contenedor de presentación.
  • El campo divide etiqueta y contador por mitades; para móvil muy estrecho comprueba que los botones y el número tengan espacio.
Para ejemplos con estado y composición completos, consulta componentes reutilizables y formularios.