Skip to main content
196

Search Lumen

Find components, APIs, guides, and recipes.

GitHub
Android docs
FormsAndroid

Multi select

Select multiple searchable options with controlled values and result states.

Public APILumenMultiSelectAndroid / Compose

Native example

Use Multi select

Selection applies immediately. The host owns search, asynchronous results, cancellation, and persistence. Missing selected options retain their raw value as a chip label. Localize every string and count/removal formatter.

Multi select rendered in the Android phone emulator Lumen playground
Captured exampleAndroid phone emulator
kotlin
LumenMultiSelect(
    label = "Teams", options = matchingTeams, values = selectedTeams,
    onValuesChange = { selectedTeams = it }, query = query, onQueryChange = { query = it },
    loading = searching, resultsErrorMessage = searchError, onRetry = ::retrySearch
)

Reference

Public API

The primary shared and platform-specific options exposed by LumenMultiSelect.

APIValues or typeDefaultDescription
label / optionsString / List<LumenSelectionOption>RequiredNames the field and supplies uniquely identified, readable results.
values / onValuesChangeSet<String> / (Set<String>) -> UnitRequiredControls selection independently from visible results.
query / onQueryChangeString / (String) -> UnitRequiredControls caller-owned search.
loading / resultsErrorMessage / onRetryBoolean / String? / (() -> Unit)?false / null / nullProvides loading, safe error, and recovery states.
description / errorMessageString?NoneProvides help and separate form validation.
enabled / readOnlyBooleantrue / falseBlocks editing and dismisses selection.
chooseLabel / searchLabel / clearSearchLabel / doneLabelStringEnglish defaultsLocalizes selection and dialog actions.
emptyLabel / loadingLabel / retryLabelStringEnglish defaultsLocalizes result states.
selectionLabel / removeLabel(Int) -> String / (String) -> StringEnglish formattersLocalizes counts and chip removal.
——NonePasses the application safe-area provider insets into the native sheet.
modifierModifierModifierApplies field layout.

Native behavior

Design and accessibility

When to use it

Selection applies immediately. The host owns search, asynchronous results, cancellation, and persistence. Missing selected options retain their raw value as a chip label. Localize every string and count/removal formatter.

Accessibility

Uses a native dialog with named checkbox options, removal actions, validation, and read-only or disabled behavior.

Shared component

Available on other platforms

React NativeApple / SwiftUI
Android docsCompose module