dropdownBuilder<T> function
A FormFieldBuilder that is the default FastDropdown.builder.
Returns a DropdownButtonFormField on any TargetPlatform.
Implementation
Widget dropdownBuilder<T>(FormFieldState<T> field) {
final FastDropdownState<T>(
:decoration,
:didChange,
:enabled,
:value,
:widget
) = field as FastDropdownState<T>;
final itemsBuilder = widget.itemsBuilder ?? dropdownMenuItemsBuilder;
void onChanged(T? value) {
if (value != field.value) didChange(value);
}
return DropdownButtonFormField(
alignment: widget.alignment,
autofocus: widget.autofocus,
autovalidateMode: widget.autovalidateMode,
borderRadius: widget.borderRadius,
decoration: decoration,
disabledHint: widget.disabledHint,
dropdownColor: widget.dropdownColor,
elevation: widget.elevation,
enableFeedback: widget.enableFeedback,
focusColor: widget.focusColor,
focusNode: widget.focusNode,
hint: widget.hint,
icon: widget.icon,
iconDisabledColor: widget.iconDisabledColor,
iconEnabledColor: widget.iconEnabledColor,
iconSize: widget.iconSize,
isDense: widget.isDense,
isExpanded: widget.isExpanded,
itemHeight: widget.itemHeight,
items: itemsBuilder(widget.items, field),
menuMaxHeight: widget.menuMaxHeight,
onChanged: enabled ? onChanged : null,
onSaved: widget.onSaved,
onTap: widget.onTap,
selectedItemBuilder: widget.selectedItemBuilder,
style: widget.style,
validator: widget.validator,
value: value,
);
}