buildDropdownSetting function
Widget
buildDropdownSetting(
- StringEnum title,
- StringEnum value,
- List<
StringEnum> items, - dynamic onChanged(),
Implementation
Widget buildDropdownSetting(
StringEnum title,
StringEnum value,
List<StringEnum> items,
Function(StringEnum) onChanged,
) {
final stringObs = TCICController.instance.getStringObs();
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
stringObs.getString(title),
style: const TextStyle(fontSize: 16, fontWeight: FontWeight.w500),
),
const SizedBox(height: 8),
Container(
padding: const EdgeInsets.symmetric(horizontal: 12),
decoration: BoxDecoration(
border: Border.all(color: Colors.grey.withValues(alpha: 0.3)),
borderRadius: BorderRadius.circular(4),
),
child: DropdownButton<StringEnum>(
value: value,
isExpanded: true,
underline: const SizedBox(),
items:
items.map((StringEnum item) {
return DropdownMenuItem<StringEnum>(
value: item,
child: Text(stringObs.getString(item)),
);
}).toList(),
onChanged: (StringEnum? newValue) {
if (newValue != null) {
onChanged(newValue);
}
},
),
),
],
);
}