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 admitenull. 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 desdebuild con tus datos/callbacks, y conserva el estado y los recursos en su dueño. No ejecuta callbacks ficticios.
Comportamiento y límites
- La app filtra o consulta datos desde onSearchChanged/onSearchSubmitted. El widget no realiza búsquedas automáticamente.
- maxItemsToShow limita el itemCount construido, no sólo la altura visible. Las opciones posteriores quedan fuera del menú.
- La altura de la lista se calcula con filas de referencia de 45 px y se limita entre 80 y 250 px.
- overlay: true inserta un OverlayEntry debajo del campo, conserva el alto del layout y permite cerrar pulsando fuera. No calcula todas las colisiones con el viewport.
- La etiqueta de una opción elegida internamente puede conservarse aunque desaparezca de items. Un value externo que nunca estuvo en items no dispone de etiqueta cacheada.
- No es FormField<T> y no expone validator para la selección. Su TextFormField interno de búsqueda no sustituye esa validación.
- onChanged: null no impide abrir o elegir visualmente. Las propiedades enabled de DropdownMenuItem no se comprueban al construir los InkWell de opciones.
- La consulta externa puede conservarse al cerrar aunque el campo de búsqueda se recree vacío al abrir. Define la política de reinicio en la app.