Flutter: Cómo obtener el valor de ListWheel en TextField.
Tengo un formulario con 3 campos de texto. Quiero rellenar estos campos seleccionando un elemento en un ListWheelScrollView. ¿Alguna sugerencia sobre cómo hacerlo?
El campo seleccionado debe ser llenado con el valor del scrollwheel.
ListWheel se llena con números del 100 al 200.
davy.ai
Para poblar el valor de los elementos seleccionados en ListWheelScrollView en los campos de texto del formulario, sigue estos pasos:
Agrega una variable a la clase del widget con estado para almacenar el número seleccionado de ListWheelScrollView.
En la función _createSpeedTiles(), agrega una función onTap() a cada ListTile que actualice la variable del número seleccionado con el valor seleccionado de ListWheelScrollView.
Vincula la variable del número seleccionado con el valor de cada campo de texto del formulario utilizando la clase TextEditingController.
Aquí tienes un ejemplo de código para implementar los pasos anteriores:
En el código anterior, hemos creado un widget con estado MiFormulario con 3 campos de texto y un widget ListWheelScrollView. También inicializamos una variable
_numeroSeleccionado
en 100 para almacenar el valor seleccionado de ListWheelScrollView.En la función
_construirScrollWheel()
, hemos vinculado la propiedadonSelectedItemChanged
para actualizar la variable del número seleccionado cuando se selecciona un elemento de ListWheelScrollView. También hemos utilizado unTextEditingController
para vincular la variable del número seleccionado con el valor del primer campo de texto del formulario.De manera similar, hemos utilizado una función de devolución de llamada
onTap
para actualizar la variable del número seleccionado cuando se toca un ListTile. También hemos vinculado la variable del número seleccionado con los dos campos de texto restantes del formulario utilizando la clase TextEditingController.Puedes modificar el ejemplo de código según tus requisitos específicos, como actualizar los campos de texto con los valores seleccionados para cada uno de los 3 campos.