dropdownBuilder<T> function

Widget dropdownBuilder<T>(
  1. FormFieldState<T> field
)

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,
  );
}