DropdownFlutter<T>.multiSelect constructor
DropdownFlutter<T>.multiSelect ({
- Key? key,
- required List<
T> ? items, - required dynamic onListChanged(
- List<
T>
- List<
- MultiSelectController<
T> ? multiSelectController, - SingleSelectController<
T?> ? controller, - List<
T> ? initialItems, - OverlayPortalController? overlayController,
- ScrollController? itemsScrollController,
- String? listValidator(
- List<
T>
- List<
- dynamic visibility()?,
- _HeaderListBuilder<
T> ? headerListBuilder, - String? hintText,
- CustomDropdownDecoration? decoration,
- bool validateOnChange = true,
- _ListItemBuilder<
T> ? listItemBuilder, - _HintBuilder? hintBuilder,
- bool canCloseOutsideBounds = true,
- bool hideSelectedFieldWhenExpanded = false,
- int maxlines = 1,
- double? overlayHeight,
- EdgeInsets? closedHeaderPadding,
- EdgeInsets? expandedHeaderPadding,
- EdgeInsets? itemsListPadding,
- EdgeInsets? listItemPadding,
- bool enabled = true,
- CustomDropdownDisabledDecoration? disabledDecoration,
Implementation
DropdownFlutter.multiSelect({
super.key,
required this.items,
required this.onListChanged,
this.multiSelectController,
this.controller,
this.initialItems,
this.overlayController,
this.itemsScrollController,
this.listValidator,
this.visibility,
this.headerListBuilder,
this.hintText,
this.decoration,
this.validateOnChange = true,
this.listItemBuilder,
this.hintBuilder,
this.canCloseOutsideBounds = true,
this.hideSelectedFieldWhenExpanded = false,
this.maxlines = 1,
this.overlayHeight,
this.closedHeaderPadding,
this.expandedHeaderPadding,
this.itemsListPadding,
this.listItemPadding,
this.enabled = true,
this.disabledDecoration,
}) : assert(
initialItems == null || multiSelectController == null,
'Only one of initialItems or controller can be specified at a time',
),
assert(
initialItems == null ||
initialItems.isEmpty ||
initialItems.any((e) => items!.contains(e)),
'Initial items must match with the items in the items list.',
),
assert(
multiSelectController == null ||
multiSelectController.value.isEmpty ||
multiSelectController.value.any((e) => items!.contains(e)),
'Controller value must match with one of the item in items list.',
),
_searchType = null,
_dropdownType = _DropdownType.multipleSelect,
initialItem = null,
noResultFoundText = null,
validator = null,
headerBuilder = null,
onChanged = null,
excludeSelected = false,
futureRequest = null,
futureRequestDelay = null,
noResultFoundBuilder = null,
searchHintText = null,
searchRequestLoadingIndicator = null,
closeDropDownOnClearFilterSearch = false;