Skip to content

MultiSelect

A keyboard-navigable list of checkable options.

See also: Select for a single choice.

Learn more: Forms & validation

Import: package:fleury/fleury.dart, or package:fleury/fleury_core.dart in browser code.

MultiSelect<String>(
options: options,
values: _selected,
onChanged: (values) => setState(() => _selected = values),
)

Controlled: hold values yourself and update them from onChanged. Enter, Space, or a click toggles the highlighted option. Disabled options remain visible but cannot be toggled. Passing null for onChanged disables the whole widget.

ParameterTypeDefaultDescription
options:List<SelectOption<T>>requiredOrdered choices; disabled options remain visible but cannot be toggled.
values:Set<T>requiredControlled set of currently selected option values.
onChanged:void Function(Set<T> values)?requiredCalled with a new unmodifiable selection after a toggle; null disables it.
semanticLabel:String'Multi-select'Label exposed for the option list through the semantic app graph.
emptyLabel:String'No options'Text rendered when options is empty.
focusNode:FocusNode?—Optional externally owned focus node used for keyboard navigation.
autofocus:boolfalseWhether the list requests focus when mounted.
style:CellStyle?—Base styling for each option row, plus optional hover, focus, selected, disabled, and invalid state entries from CellStyle.interactive.

MultiSelect is defined in packages/fleury/lib/src/catalog/select.dart.

Category: Inputs & controls · All widgets