Toggle Sidebar B
AppearanceLight & dark mode D

Combobox

Searchable dropdown that filters items as you type. Built on reka-ui. Use for pickers with many options where a flat Select feels cumbersome.

Basic

A simple combobox with a list of frameworks.

Replay preview

Multiple

A combobox with multiple selection using multiple and ComboboxChips.

Replay preview
Next.js
SvelteKit

Multiple with options

Multiple selection over { value, label } options: chips show labels, fixed options cannot be removed, and a clear button empties the rest. Use this shape when the field stores ids rather than the text shown on screen.

Replay preview
Owner
Editor

Clear Button

Use the showClear prop to show a clear button. It replaces the trigger while a value is set.

Replay preview

Groups

Use ComboboxGroup and ComboboxSeparator to group items.

Replay preview

Custom Items

You can render a custom component inside ComboboxItem.

Replay preview

Invalid

Use the aria-invalid prop to make the combobox invalid.

Replay preview

Disabled

Use the disabled prop to disable the combobox.

Replay preview

Auto Highlight

Use the autoHighlight prop to automatically highlight the first item on filter.

Replay preview

Input Group

Add an addon to the combobox by placing an InputGroupAddon inside ComboboxInput.

Replay preview

API Reference

Combobox

PropTypeDefaultDescription
modelValueanySelected value. Supports v-model.
openbooleanDropdown open state. Supports v-model:open.
multiplebooleanfalseAllow selecting several items.
autoHighlightbooleanfalseHighlight the first item on every filter change.
openOnClickbooleantrueOpen the list when the field is clicked.
openOnFocusbooleanfalseOpen the list as soon as the field takes focus, including via keyboard.
ignoreFilterbooleanfalseTurn off the built-in filter and render the list yourself. Selected items then keep their place instead of disappearing as you pick.
filterFunction(items, search) => itemsOverride default fuzzy filter.
EventDescription
update:modelValueFires when the selection changes. Enables v-model.
update:openFires when the dropdown opens or closes.
SlotDescription
defaultAnchor, list, and item sub-components.

ComboboxInput

PropTypeDefaultDescription
showTriggerbooleantrueRender the chevron button that opens the list. Set false when the input lives inside the list.
showClearbooleanfalseRender a clear button. It hides the chevron while a value is set.
classstringMerged onto the surrounding InputGroup.
EventDescription
update:modelValueFires as the search text changes.
SlotDescription
defaultExtra InputGroupAddon content, rendered inside the input group.

ComboboxAnchor / ComboboxTrigger / ComboboxClear

PropTypeDefaultDescription
asChildbooleanfalse(ComboboxTrigger) Render into a child element such as a Button. The built-in chevron is skipped.
disabledbooleanfalse(ComboboxClear) Disable the clear button.

ComboboxChips / ComboboxChip / ComboboxChipsInput

PropTypeDefaultDescription
modelValueany[][](ComboboxChips) Bind the same model as Combobox, so removing a chip also deselects the item.
displayValue(value) => string(ComboboxChips) Chip label for object values. Without it the value is rendered as-is.
valueany(ComboboxChip) The entry in the model this chip represents.
showRemovebooleantrue(ComboboxChip) Render the trailing remove button. Set false for options that cannot be removed.
modelValuestring""(ComboboxChipsInput) Search text. Supports v-model — required when you filter the list yourself.

ComboboxList

PropTypeDefaultDescription
classstringFloating results panel. Forwards positioning props to reka-ui ComboboxContent.

ComboboxItem

PropTypeDefaultDescription
valueanyValue committed when the item is selected.
disabledbooleanfalseDisable selection of this item.
EventDescription
selectFires when the item is chosen.

Accessibility

Keyboard shortcuts and ARIA behavior.

Shortcut Description
ATyping in the input filters the options.
Moves the highlight to the previous option.
Moves the highlight to the next option.
HomeJumps to the first option.
EndJumps to the last option.
EnterSelects the highlighted option.
EscCloses the dropdown.
  • Built on reka-ui Combobox, pairing a textbox input with a role=listbox of options.
  • The input exposes aria-expanded and aria-activedescendant tracks the highlighted option.