MultiSelector
Render an Astryx selector that accepts multiple values.
Astryx Props
JSON-safe MultiSelector props forwarded to Astryx.
Supported Astryx props include:
label(string; required): Label text for the multi-selector, always rendered for accessibility unless hidden visually.isLabelHidden(boolean; default false): Visually hides the label while keeping it available to screen readers.description(string): Helper text displayed between the label and selector.isOptional(boolean; default false): Marks the field as optional; mutually exclusive with isRequired.isRequired(boolean; default false): Marks the field as required; mutually exclusive with isOptional.isDisabled(boolean; default false): Disables the selector.options(option[]; required): Options displayed in the selector. Astryx accepts strings, option objects, dividers, and sections.value(string[]; required): Selected option values.onChange((value: string[]) => void; required): Called when selected values change.changeAction((value: string[]) => void or Promise<void>): Async action fired after onChange.isLoading(boolean; default false): Shows the selector loading state.placeholder(string; default 'Select...'): Placeholder text when no value is selected.size('sm' or 'md' or 'lg'; default 'md'): Selector size.status(MultiSelectorStatus): Validation status for warning, error, or success states.width(number or string): Field width. Numbers are pixels; strings are used as CSS values.labelTooltip(string): Tooltip text for an info icon at the end of the label.startIcon(ReactNode or IconType): Icon displayed at the start of the trigger.hasClear(boolean; default false): Shows a clear button when values are selected.hasSelectAll(boolean; default false): Shows a select-all checkbox.selectAllLabel(string; default 'Select all'): Label for the select-all checkbox.hasSearch(boolean; default false): Shows a search input in the dropdown.searchPlaceholder(string; default 'Search...'): Placeholder text for the search input.triggerDisplay('count' or 'labels' or 'badges'; default 'count'): Controls how selected items are summarized in the trigger.maxBadges(number; default 3): Maximum visible badges before showing a +N summary.renderOption((option: MultiSelectorOptionData) => ReactNode): Custom render function for selectable options.isDefaultOpen(boolean; default false): Opens the dropdown on mount, useful for previews.data-testid(string): Test selector for automated testing.xstyle(StyleXStyles): StyleX layout customization.className(string): CSS class names for the root element.style(CSSProperties): Inline styles for the root element.
Props typed as React nodes, render functions, event handlers, refs, or StyleX styles are documented for Astryx parity but cannot be serialized directly from Python unless the wrapper adapts them.
See Astryx component docs: https://astryx.atmeta.com/components/MultiSelector.
Functions
constructor__init__(items, value=(), *, label='', label_position='top', label_width=None, disabled=False, placeholder=None, size=None, loading=None, clear=None, select_all=None, search=None, trigger_display=None, max_badges=None, description=None, status=None, **props) -> NoneparamitemsIterable[Any] | Mapping[str, Any]Option records. Mappings, pairs, strings, and dictionaries are normalized.
paramvalueIterable[str]= ()Synchronized component value.
paramlabelstr= ''Visible or accessible label for the component.
paramlabel_positionstr= 'top'Place the label above the control or beside it in a compact row.
paramlabel_widthint | float | str | None= NoneWidth of a left-side label. Use the same width to align sibling controls.
paramdisabledbool= FalseWhether the selector is disabled.
paramplaceholderstr | None= NonePlaceholder shown when no option is selected.
paramsizestr | None= NoneSelector size.
paramloadingbool | None= NoneWhether to show the loading state.
paramclearbool | None= NoneWhether to show a clear button.
paramselect_allbool | None= NoneWhether to show the select-all control.
paramsearchbool | None= NoneWhether to show option filtering.
paramtrigger_displaystr | None= NoneCount, labels, or badges selection summary.
parammax_badgesint | None= NoneMaximum badges shown in the trigger.
paramdescriptionstr | None= NoneHelper text displayed with the selector.
paramstatusMapping[str, Any] | None= NoneValidation status record.
parampropsAny= {}Returns
None