BaseDropdownSearch<T>.multiSelection constructor
BaseDropdownSearch<T>.multiSelection ({
- Key? key,
- Object? groupId,
- Mode mode = Mode.form,
- AutovalidateMode? autoValidateMode = AutovalidateMode.disabled,
- DropdownSearchOnFind<
T> ? items, - DropdownSuffixProps suffixProps = const DropdownSuffixProps(),
- ClickProps? clickProps,
- bool enabled = true,
- DropdownSearchFilterFn<
T> ? filterFn, - DropdownSearchItemAsString<
T> ? itemAsString, - DropdownSearchCompareFn<
T> ? compareFn, - List<
T> selectedItems = const [], - ScrollProps? selectedItemsScrollProps,
- required BasePopupProps<
T> popupProps, - required UiMode uiMode,
- WrapProps? selectedItemsWrapProps,
- ValueChanged<
List< ? onSelected,T> > - BeforeChangeMultiSelection<
T> ? onBeforeChange, - BeforePopupOpeningMultiSelection<
T> ? onBeforePopupOpening, - DropdownSearchBuilderMultiSelection<
T> ? dropdownBuilder, - FormFieldSetter<
List< ? onSaved,T> > - FormFieldValidator<
List< ? validator,T> > - DropDownDecoratorProps? decoratorProps,
- ChipProps? chipProps,
Implementation
BaseDropdownSearch.multiSelection({
super.key,
this.groupId,
this.mode = Mode.form,
this.autoValidateMode = AutovalidateMode.disabled,
this.items,
this.suffixProps = const DropdownSuffixProps(),
ClickProps? clickProps,
this.enabled = true,
this.filterFn,
this.itemAsString,
this.compareFn,
this.selectedItems = const [],
this.selectedItemsScrollProps,
required this.popupProps,
required this.uiMode,
this.selectedItemsWrapProps,
ValueChanged<List<T>>? onSelected,
BeforeChangeMultiSelection<T>? onBeforeChange,
BeforePopupOpeningMultiSelection<T>? onBeforePopupOpening,
DropdownSearchBuilderMultiSelection<T>? dropdownBuilder,
//form properties
FormFieldSetter<List<T>>? onSaved,
FormFieldValidator<List<T>>? validator,
DropDownDecoratorProps? decoratorProps,
this.chipProps,
}) : 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',
),
assert(
popupProps.mode != PopupMode.autocomplete || clickProps == null,
'autocomplete mode has no clickProps',
),
assert(
popupProps.mode != PopupMode.autocomplete || mode != Mode.custom,
"autocomplete mode and custom mode can't be used together",
),
clickProps = clickProps ?? const ClickProps(),
decoratorProps = decoratorProps ?? const DropDownDecoratorProps(),
onSelectedMultiSelection = onSelected,
onBeforePopupOpeningMultiSelection = onBeforePopupOpening,
onSavedMultiSelection = onSaved,
onBeforeChangeMultiSelection = onBeforeChange,
validatorMultiSelection = validator,
dropdownBuilderMultiSelection = dropdownBuilder,
isMultiSelectionMode = true,
dropdownBuilder = null,
validator = null,
onBeforeChange = null,
onSaved = null,
onSelected = null,
onBeforePopupOpening = null;