DropdownSearch<T>.multiSelection constructor

const DropdownSearch<T>.multiSelection({
  1. Key? key,
  2. Mode mode = Mode.form,
  3. AutovalidateMode? autoValidateMode = AutovalidateMode.disabled,
  4. DropdownSearchOnFind<T>? items,
  5. DropdownSuffixProps suffixProps = const DropdownSuffixProps(),
  6. ClickProps clickProps = const ClickProps(),
  7. bool enabled = true,
  8. DropdownSearchFilterFn<T>? filterFn,
  9. DropdownSearchItemAsString<T>? itemAsString,
  10. DropdownSearchCompareFn<T>? compareFn,
  11. List<T> selectedItems = const [],
  12. PopupPropsMultiSelection<T> popupProps = const PopupPropsMultiSelection.menu(),
  13. ScrollProps? selectedItemsScrollProps,
  14. ValueChanged<List<T>>? onChanged,
  15. BeforeChangeMultiSelection<T>? onBeforeChange,
  16. BeforePopupOpeningMultiSelection<T>? onBeforePopupOpening,
  17. DropdownSearchBuilderMultiSelection<T>? dropdownBuilder,
  18. FormFieldSetter<List<T>>? onSaved,
  19. FormFieldValidator<List<T>>? validator,
  20. DropDownDecoratorProps? decoratorProps,
})

Implementation

const DropdownSearch.multiSelection({
  super.key,
  this.mode = Mode.form,
  this.autoValidateMode = AutovalidateMode.disabled,
  this.items,
  this.suffixProps = const DropdownSuffixProps(),
  this.clickProps = const ClickProps(),
  this.enabled = true,
  this.filterFn,
  this.itemAsString,
  this.compareFn,
  this.selectedItems = const [],
  this.popupProps = const PopupPropsMultiSelection.menu(),
  this.selectedItemsScrollProps,
  ValueChanged<List<T>>? onChanged,
  BeforeChangeMultiSelection<T>? onBeforeChange,
  BeforePopupOpeningMultiSelection<T>? onBeforePopupOpening,
  DropdownSearchBuilderMultiSelection<T>? dropdownBuilder,
  //form properties
  FormFieldSetter<List<T>>? onSaved,
  FormFieldValidator<List<T>>? validator,
  DropDownDecoratorProps? decoratorProps,
})  : assert(
        T == String || T == int || T == double || compareFn != null,
        '`compareFn` is required',
      ),
      assert(
        mode != Mode.custom || dropdownBuilder != null,
        'Please implement your `dropdownBuilder`',
      ),
      assert(
        mode != Mode.custom ||
            (decoratorProps == null && onSaved == null && validator == null),
        "Custom mode has no form properties",
      ),
      decoratorProps = decoratorProps ?? const DropDownDecoratorProps(),
      onChangedMultiSelection = onChanged,
      onBeforePopupOpeningMultiSelection = onBeforePopupOpening,
      onSavedMultiSelection = onSaved,
      onBeforeChangeMultiSelection = onBeforeChange,
      validatorMultiSelection = validator,
      dropdownBuilderMultiSelection = dropdownBuilder,
      isMultiSelectionMode = true,
      dropdownBuilder = null,
      validator = null,
      onBeforeChange = null,
      onSaved = null,
      onChanged = null,
      onBeforePopupOpening = null;