StandardMultiSelectField<T> class

Standard implementation of MultiSelectField.

Displays selected items as chips within the field area with full multiselect functionality including search, grouping, and custom widgets.

Inheritance

Constructors

StandardMultiSelectField({Key? key, required List<Choice<T>> data(), void onSelect(List<Choice<T>> choiceList, bool isFromDefaultData)?, void onChanged(List<Choice<T>> selectedItems)?, Widget title(bool isEmpty)?, List<Choice<T>>? defaultData, bool useTextFilter = false, Decoration? decoration, bool singleSelection = false, bool menuHeightBaseOnContent = false, bool menuWidthBaseOnContent = false, Widget itemMenuButton(Choice<T> choice)?, ButtonStyle? buttonStyle, bool mergeSelectedStyle = false, ButtonStyle? selectedItemButtonStyle, EdgeInsetsGeometry? itemPadding, EdgeInsetsGeometry? selectedItemPadding, Widget iconLeft(bool menuState, Choice<T>? choice)?, Widget iconRight(bool menuState, Choice<T>? choice)?, MenuStyle? menuStyle, double? menuHeight, double? menuWidth, Widget? footer, Widget multiSelectWidget(Choice<T> choice)?, Widget singleSelectWidget(Choice<T> choice)?, bool isMandatory = false, TextStyle? itemMenuStyle, TextStyle? selectedItemMenuStyle, TextStyle? titleMenuStyle, TextStyle? textStyleSingleSelection, bool cleanCurrentSelection = false, bool selectAllOption = false, bool showSelectedTick = true, Widget? menuLeadingIcon(Choice<T> choice, bool isSelected)?, Widget? menuTrailingIcon(Choice<T> choice, bool isSelected)?, ItemColor? itemColor, Color? itemDividerColor, Color? pressedColor, String? label, bool staticLabel = false, TextStyle? textStyleLabel, Widget labelBuilder(String label)?, ScrollbarConfig? scrollbarConfig, double iconSpacing = 0, FieldWidth? fieldWidth, bool closeOnSelect = false, Color? groupHeaderBackgroundColor, EdgeInsetsGeometry? groupHeaderPadding, Color? selectedTickColor, Color? selectAllIconColor})
const

Properties

buttonStyle → ButtonStyle?
final
cleanCurrentSelection → bool
final
closeOnSelect → bool
final
data → List<Choice<T>> Function()
final
decoration → Decoration?
final
defaultData → List<Choice<T>>?
final
fieldWidth → FieldWidth?
final
final
groupHeaderBackgroundColor → Color?
Background fill for grouping-title rows in the menu. When set, headers read as a distinct section band instead of a transparent label. Defaults to null (transparent header, original layout).
final
groupHeaderPadding → EdgeInsetsGeometry?
Padding for grouping-title rows in the menu. Defaults to null, which applies a compact built-in padding shorter than the option rows so the header does not read as a tappable item.
final
hashCode → int
The hash code for this object.
no setterinherited
iconLeft → Widget Function(bool menuState, Choice<T>? choice)?
final
iconRight → Widget Function(bool menuState, Choice<T>? choice)?
final
iconSpacing → double
final
isMandatory → bool
final
itemColor → ItemColor?
final
itemDividerColor → Color?
When non-null, a hairline Divider of this color is drawn between adjacent option rows in the menu (grouping titles are never bordered). Defaults to null (no dividers), preserving the original layout.
final
itemMenuButton → Widget Function(Choice<T> choice)?
final
itemMenuStyle → TextStyle?
final
itemPadding → EdgeInsetsGeometry?
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
label → String?
final
labelBuilder → Widget Function(String label)?
final
final
final
final
final
final
final
final
mergeSelectedStyle → bool
final
multiSelectWidget → Widget Function(Choice<T> choice)?
final
onChanged → void Function(List<Choice<T>> selectedItems)?
final
onSelect → void Function(List<Choice<T>> choiceList, bool isFromDefaultData)?
final
pressedColor → Color?
Overlay tint shown on menu rows while pressed/hovered/focused. Defaults to null, which keeps rows without an overlay (the original behavior).
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
scrollbarConfig → ScrollbarConfig?
final
selectAllIconColor → Color?
Colour of the leading select-all checkbox on option rows. Defaults to null, preserving the historical green checkbox. Only used when selectAllOption.
final
selectAllOption → bool
final
selectedItemButtonStyle → ButtonStyle?
final
selectedItemMenuStyle → TextStyle?
Text style merged onto the label of the currently selected option row(s) (grouping titles are unaffected). Use it to give selection a weight or color change on top of itemMenuStyle. Defaults to null (no change).
final
selectedItemPadding → EdgeInsetsGeometry?
final
selectedTickColor → Color?
Colour of the trailing selected-check on option rows. Defaults to null, preserving the historical green tick. Only used when showSelectedTick.
final
showSelectedTick → bool
final
singleSelection → bool
final
singleSelectWidget → Widget Function(Choice<T> choice)?
final
staticLabel → bool
final
textStyleLabel → TextStyle?
final
textStyleSingleSelection → TextStyle?
final
title → Widget Function(bool isEmpty)?
final
titleMenuStyle → TextStyle?
final
useTextFilter → bool
final

Methods

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<StandardMultiSelectField<T>>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited