Components / UI components / Forms
Shared controlsExperimental alpha

Select

A custom dropdown with keyboard navigation and themed portals.

Select preview

Interactions use local sample data.

Usage and props

Use for one choice from a list. Give the trigger a visible label or aria-label, and replace options when choices change. Use an empty value to show the placeholder. Provide an accessible label and disabled options for unavailable choices.

valuestring
The selected option value, or an empty string.
onValueChange(value: string) => void
Update value with the selected option.
optionsreadonly SelectOption[]
Options need unique, non-empty values and labels. Set disabled on unavailable ones.
disabledboolean (optional)
Prevents opening or changing the selection.
dir'ltr' | 'rtl' (optional)
Sets the control direction. Check the surrounding layout when using right-to-left text.
How state and callbacks work

These are the main props for the example. The package's TypeScript declarations include the full API.

Customize and use with a keyboard