dropdown static method
Widget
dropdown({
- required String labelText,
- required String value,
- required List items,
- required void onChanged()?,
- required String? remark,
- String? validator()?,
- AutovalidateMode? autovalidateMode,
- required Size size,
- bool isMandatory = false,
- Color? textClr,
- Color? labelClr,
- Color? erTextClr,
- Color? borderClr,
- Color? focusedBorderClr,
- Color? enabledBorderClr,
- Color? focusedErBorderClr,
- Color? erBorderClr,
Implementation
static Widget dropdown({
required String labelText,
required String value,
required List items,
required void Function(String?)? onChanged,
required String? remark,
String? Function(String?)? validator,
AutovalidateMode? autovalidateMode,
required Size size,
bool isMandatory = false,
Color? textClr,
Color? labelClr,
Color? erTextClr,
Color? borderClr,
Color? focusedBorderClr,
Color? enabledBorderClr,
Color? focusedErBorderClr,
Color? erBorderClr,
}) {
return batchWidget(
remark: remark,
widget: Padding(
padding: const EdgeInsets.only(bottom: 10.0),
child: DropdownButtonHideUnderline(
child: DropdownButtonFormField<String>(
autovalidateMode: autovalidateMode,
isExpanded: true,
validator: validator,
autofocus: false,
style: TextStyle(
color: textClr ?? TextFieldColor.textClr,
fontSize: size.width * 0.04,
),
decoration: InputDecoration(
contentPadding: const EdgeInsets.only(left: 15.0, right: 5.0),
label: Text(
isMandatory ? '$labelText *' : labelText,
style: TextStyle(
color: labelClr ?? TextFieldColor.labelClr,
fontSize: size.width * 0.04,
),
),
floatingLabelBehavior: FloatingLabelBehavior.always,
errorStyle: TextStyle(
fontSize: size.width * 0.030,
color: erTextClr ?? TextFieldColor.erTextClr),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(5.0),
borderSide:
BorderSide(color: borderClr ?? TextFieldColor.borderClr),
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(5.0),
borderSide: BorderSide(
color: focusedBorderClr ?? TextFieldColor.focusedBorderClr),
),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(5.0),
borderSide: BorderSide(
color: enabledBorderClr ?? TextFieldColor.enabledBorderClr),
),
focusedErrorBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(5.0),
borderSide: BorderSide(
color: focusedErBorderClr ??
TextFieldColor.focusedErBorderClr),
),
errorBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(5.0),
borderSide: BorderSide(
color: erBorderClr ?? TextFieldColor.erBorderClr),
),
),
value: value,
onChanged: onChanged,
items: items.map((val) {
return DropdownMenuItem<String>(
value: val.toString(),
child: Text(
val.toString(),
style: const TextStyle(color: Colors.black54),
),
);
}).toList(),
),
),
),
);
}