buildDropdown<T> method
Widget
buildDropdown<T>({
- required String label,
- required T value,
- required List<
T> items, - required String labelBuilder(
- T
- required ValueChanged<
T?> onChanged,
Build a dropdown selector
Implementation
Widget buildDropdown<T>({
required String label,
required T value,
required List<T> items,
required String Function(T) labelBuilder,
required ValueChanged<T?> onChanged,
}) {
return Padding(
padding: const EdgeInsets.symmetric(vertical: 8),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(label, style: const TextStyle(fontSize: 13)),
DropdownButton<T>(
value: value,
items: items.map((item) {
return DropdownMenuItem<T>(
value: item,
child: Text(labelBuilder(item), style: const TextStyle(fontSize: 13)),
);
}).toList(),
onChanged: (v) {
if (v != null) {
onChanged(v);
onUpdate();
}
},
),
],
),
);
}