import 'package:flutter/material.dart'; class GenderDropdown extends StatefulWidget { final TextEditingController controller; const GenderDropdown({super.key, required this.controller}); @override State createState() => _GenderDropdownState(); } class _GenderDropdownState extends State { late TextEditingController controller; @override void initState() { super.initState(); controller = widget.controller; } @override Widget build(BuildContext context) { return InputDecorator( decoration: InputDecoration( border: OutlineInputBorder( borderRadius: BorderRadius.circular(10.0), ), prefixIcon: const Icon(Icons.groups), contentPadding: const EdgeInsets.symmetric( horizontal: 12.0, vertical: 7.0, ), ), child: DropdownButtonHideUnderline( child: DropdownButton( isExpanded: true, value: controller.text == '' ? null : controller.text, hint: const Text( 'Selecciona tu género', style: TextStyle(fontSize: 16.0), ), onChanged: (String? newValue) { setState(() { controller.text = newValue!; }); }, items: ['Masculino', 'Femenino', 'Otro'] .map>((String value) { return DropdownMenuItem( value: value, child: Text(value), ); }).toList(), ), ), ); } }