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
- Sin pickImage utiliza FilePicker.pickFile(type: FileType.image) y readAsBytes. onTap notifica la interacción y no sustituye ese selector.
- pickImage puede devolver null para cancelar; se conserva la imagen anterior y no se llama onChanged por cancelación.
- bytes tiene prioridad sobre imageProvider. El provider muestra una imagen existente, pero no convierte su contenido a bytes para el validator.
- loading externo o una selección interna en curso bloquean nuevas pulsaciones y limpieza. El widget comprueba mounted tras await.
- Limpiar entrega null y oculta el provider; actualizar bytes/provider desde fuera sincroniza el estado según didUpdateWidget.
- No comprime, recorta, sube ni valida automáticamente el tamaño del archivo. onError cubre errores del proceso de selección, no todos los errores de decodificación/render de Image.
- Form.reset restaura initialValue de bytes; _showImageProvider no tiene un reset específico. Si necesitas restaurar también el provider, define esa política desde la app.
- Los mensajes de validación ocupan altura adicional. Una imagen existente por provider requiere una regla específica si el validator exige bytes no nulos.