Skip to main content
The Combobox component provides a searchable dropdown interface that allows users to filter and select from a list of options. It supports both single and multiple selection modes.

Basic usage

Props

Combobox (Root)

Value | Value[] | null
The controlled value of the combobox. Use single value for single selection, array for multiple.
Value | Value[] | null
The default value for uncontrolled usage.
(value: Value | Value[] | null) => void
Callback fired when the selected value changes.
(inputValue: string) => void
Callback fired when the input value changes.
boolean
default:"false"
Whether multiple selections are allowed.
Value[]
Array of items for the combobox. Used for controlled item filtering.
boolean
Controls the open state of the combobox dropdown.
(open: boolean) => void
Callback fired when the open state changes.

Combobox.Input

Inherits all props from InputField component except trailingIcon, suffix, chips, and maxChipsVisible.
string
The label text displayed above the input.
string
Placeholder text for the input.
boolean
Whether the input is disabled.
string
Error message to display.
string
Helper text displayed below the input.
'small' | 'large'
The size of the input.

Combobox.Item

string
required
The value of the combobox item.
boolean
Whether the item is disabled.

Single selection

Multiple selection

With groups and labels

With input value tracking

With custom filtering

With validation

Multiple selection with chips

When using multiple selection mode, selected items are automatically displayed as removable chips in the input field.

Accessibility

  • Built on Base UI Combobox primitive with full accessibility support.
  • Supports keyboard navigation with arrow keys, Enter to select, and Escape to close.
  • Proper ARIA attributes are automatically applied.
  • Screen readers announce the number of available options and selected values.
  • In multiple selection mode, chips can be removed using keyboard navigation.