Combobox
⟦Šíñglé- ór múltí-válúé ÁRÍÁ çómbóbóx wíth fíltéríñg.~~~~~~~~~~~~~~~~~~~⟧
- ⟦Brówšérš~~~⟧
- Chrome 114+Firefox 125+Safari 17+
- ⟦Tíér~~⟧
- 2
- ⟦Búñdlé çómpréššéd~~~~~~⟧
- 5.18 kB
- ⟦Fórçéd láýóút búdgét~~~~~~~⟧
- 0 ms
- ⟦Áxé búdgét~~~~⟧
- 0
- ⟦ŠŠR çómpátíblé~~~~~⟧
- ⟦Ýéš~~⟧
- ⟦Públíšhéd çóñtráçt~~~~~~~⟧
- ⟦Téšt hárñéšš~~~~~⟧
⟦Pláýgróúñd~~~~⟧
Combobox
Default
Apple
Banana
Cherry
Date
Multiple
ReactUI
React
UI
TypeScript
Accessibility
Design systems
Open
Apple
Banana
Cherry
Date
Large
⟦ÁPÍ~~⟧
Combobox.Root
| ⟦Próp~~⟧ | ⟦Týpé~~⟧ | ⟦Défáúlt~~~⟧ | ⟦Déšçríptíóñ~~~~⟧ |
|---|---|---|---|
children | ReactNode | — | ⟦Çómbóbóx pártš: çóñtról, tágš, íñpút, tríggér áñd çóñtéñt.~~~~~~~~~~~~~~~~~~~~~⟧ |
items* | ComboboxItemData[] | — | ⟦Fúll líšt óf óptíóñš thé íñpút fíltérš óvér.~~~~~~~~~~~~~~~~⟧ |
defaultInputValue | string | — | ⟦Štártíñg téxt íñ thé íñpút whéñ thé íñpút válúé íš úñçóñtrólléd.~~~~~~~~~~~~~~~~~~~~~~~⟧ |
defaultOpen | boolean | — | ⟦Whéthér thé líšt štártš ópéñ whéñ thé ópéñ štáté íš úñçóñtrólléd.~~~~~~~~~~~~~~~~~~~~~~~⟧ |
defaultValue | string | readonly string[] | — | ⟦Válúé ór válúéš šéléçtéd óñ fíršt réñdér whéñ thé šéléçtíóñ íš úñçóñtrólléd.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
multiple | boolean | false | ⟦Állówš šéléçtíñg áñd rémóvíñg múltíplé válúéš áš tágš.~~~~~~~~~~~~~~~~~~~⟧ |
allowCustomValue | boolean | false | ⟦Állówš týpéd téxt thát íš ñót íñ ítémš tó béçómé á šéléçtéd válúé.~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
addOnPaste | boolean | true | ⟦Áddš múltíplé délímítéd válúéš fróm páštéd téxt íñ múltíplé módé.~~~~~~~~~~~~~~~~~~~~~~~⟧ |
delimiters | readonly string[] | [","] | ⟦Çháráçtérš thát çómmít ór šplít týpéd válúéš íñ múltíplé módé.~~~~~~~~~~~~~~~~~~~~~~⟧ |
maxValues | number | — | ⟦Lárgéšt ñúmbér óf válúéš thát çáñ bé šéléçtéd íñ múltíplé módé.~~~~~~~~~~~~~~~~~~~~~~~⟧ |
validateValue | (value: string) => boolean | — | ⟦Réjéçtš á çúštóm válúé whéñ ít rétúrñš fálšé.~~~~~~~~~~~~~~~~⟧ |
filterFn | (items: ComboboxItemData[], inputValue: string) => ComboboxItemData[] | — | ⟦Répláçéš thé búílt-íñ fíltér thát ñárrówš ítémš áš thé úšér týpéš.~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
inputValue | string | — | ⟦Téxt íñ thé íñpút, mákíñg thé týpéd válúé çóñtrólléd.~~~~~~~~~~~~~~~~~~~⟧ |
onInputValueChange | (value: string) => void | — | ⟦Çálléd wíth thé ñéw téxt whéñévér thé íñpút çháñgéš.~~~~~~~~~~~~~~~~~~~⟧ |
onOpenChange | (open: boolean, details: OpenChangeDetails) => void | — | ⟦Çálléd whéñ thé líšt ópéñš ór çlóšéš, wíth thé réášóñ fór thé çháñgé.~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
onValueChange | ((value: string) => void) | ((value: string[]) => void) | — | ⟦Çálléd wíth thé šéléçtéd válúé ór fúll šéléçtéd-válúéš árráý.~~~~~~~~~~~~~~~~~~~~~~⟧ |
open | boolean | — | ⟦Whéthér thé líšt íš ópéñ, mákíñg thé ópéñ štáté çóñtrólléd.~~~~~~~~~~~~~~~~~~~~~⟧ |
value | string | readonly string[] | — | ⟦Šéléçtéd válúé ór válúéš, mákíñg thé šéléçtíóñ çóñtrólléd.~~~~~~~~~~~~~~~~~~~~~⟧ |
Combobox.Control
| ⟦Próp~~⟧ | ⟦Týpé~~⟧ | ⟦Défáúlt~~~⟧ | ⟦Déšçríptíóñ~~~~⟧ |
|---|---|---|---|
children | ReactNode | — | ⟦Tágš áñd íñpút réñdéréd íñšídé thé šháréd víšúál çóñtról.~~~~~~~~~~~~~~~~~~~~⟧ |
className | string | — | ⟦Çlášš ápplíéd tó thé çóñtról éléméñt.~~~~~~~~~~~~~⟧ |
render | ReactElement | ((props, state) => ReactElement) | — | ⟦Répláçé thé réñdéréd éléméñt whílé kéépíñg béhávíór áñd áççéššíbílítý wíríñg.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
Combobox.Tags
| ⟦Próp~~⟧ | ⟦Týpé~~⟧ | ⟦Défáúlt~~~⟧ | ⟦Déšçríptíóñ~~~~⟧ |
|---|---|---|---|
children | ReactNode | — | ⟦Çóñtéñt áppéñdéd áftér thé géñérátéd rémóváblé tágš.~~~~~~~~~~~~~~~~~~~⟧ |
className | string | — | ⟦Çlášš ápplíéd tó thé géñérátéd tágš çóñtáíñér.~~~~~~~~~~~~~~~~~⟧ |
render | ReactElement | ((props, state) => ReactElement) | — | ⟦Répláçé thé réñdéréd éléméñt whílé kéépíñg béhávíór áñd áççéššíbílítý wíríñg.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
Combobox.Input
| ⟦Próp~~⟧ | ⟦Týpé~~⟧ | ⟦Défáúlt~~~⟧ | ⟦Déšçríptíóñ~~~~⟧ |
|---|---|---|---|
className | string | — | ⟦Çlášš ápplíéd tó thé téxt íñpút.~~~~~~~~~~~~⟧ |
render | ReactElement | ((props, state) => ReactElement) | — | ⟦Répláçé thé réñdéréd éléméñt whílé kéépíñg béhávíór áñd áççéššíbílítý wíríñg.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
Combobox.Trigger
| ⟦Próp~~⟧ | ⟦Týpé~~⟧ | ⟦Défáúlt~~~⟧ | ⟦Déšçríptíóñ~~~~⟧ |
|---|---|---|---|
children | ReactNode | — | ⟦Çóñtéñt óf thé búttóñ thát ópéñš thé líšt, šúçh áš áñ íçóñ.~~~~~~~~~~~~~~~~~~~~~⟧ |
className | string | — | ⟦Çlášš ápplíéd tó thé tríggér búttóñ.~~~~~~~~~~~~~⟧ |
render | ReactElement | ((props, state) => ReactElement) | — | ⟦Répláçé thé réñdéréd éléméñt whílé kéépíñg béhávíór áñd áççéššíbílítý wíríñg.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
Combobox.Content
| ⟦Próp~~⟧ | ⟦Týpé~~⟧ | ⟦Défáúlt~~~⟧ | ⟦Déšçríptíóñ~~~~⟧ |
|---|---|---|---|
align | "start" | "center" | "end" | — | ⟦Álígñméñt óf thé líšt ágáíñšt thé íñpút álóñg thé çhóšéñ šídé.~~~~~~~~~~~~~~~~~~~~~~⟧ |
children* | (filteredItems: ComboboxItemData[]) => ReactNode | — | ⟦Réñdér fúñçtíóñ çálléd wíth thé ítémš léft áftér fíltéríñg.~~~~~~~~~~~~~~~~~~~~~⟧ |
className | string | — | ⟦Çlášš ápplíéd tó thé líšt pópúp.~~~~~~~~~~~~⟧ |
side | "top" | "right" | "bottom" | "left" | — | ⟦Šídé óf thé íñpút thé líšt íš pláçéd óñ.~~~~~~~~~~~~~~⟧ |
Combobox.Item
| ⟦Próp~~⟧ | ⟦Týpé~~⟧ | ⟦Défáúlt~~~⟧ | ⟦Déšçríptíóñ~~~~⟧ |
|---|---|---|---|
className | string | — | ⟦Çlášš ápplíéd tó thé óptíóñ éléméñt.~~~~~~~~~~~~~⟧ |
item* | ComboboxItemData | — | ⟦Thé ítém thíš óptíóñ réñdérš, ñórmállý tákéñ fróm thé çóñtéñt çállbáçk.~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
Combobox.Empty
| ⟦Próp~~⟧ | ⟦Týpé~~⟧ | ⟦Défáúlt~~~⟧ | ⟦Déšçríptíóñ~~~~⟧ |
|---|---|---|---|
children | ReactNode | — | ⟦Çóñtéñt šhówñ whéñ fíltéríñg léávéš ñó ítémš.~~~~~~~~~~~~~~~~⟧ |
className | string | — | ⟦Çlášš ápplíéd tó thé émptý-štáté éléméñt.~~~~~~~~~~~~~~~⟧ |
ComboboxItemData
| ⟦Próp~~⟧ | ⟦Týpé~~⟧ | ⟦Défáúlt~~~⟧ | ⟦Déšçríptíóñ~~~~⟧ |
|---|---|---|---|
disabled | boolean | — | ⟦Mákéš thíš ítém úñšéléçtáblé.~~~~~~~~~~~⟧ |
label* | string | — | ⟦Téxt šhówñ fór thé ítém áñd mátçhéd bý thé fíltér.~~~~~~~~~~~~~~~~~~⟧ |
value* | string | — | ⟦Válúé répórtéd whéñ thé ítém íš šéléçtéd.~~~~~~~~~~~~~~~⟧ |
⟦Kéýbóárd~~~⟧
| ⟦Kéý~~⟧ | ⟦Áçtíóñ~~~⟧ |
|---|---|
| ↓ / ↑ | ⟦Ópéñ áñd róvé óptíóñš~~~~~~~~⟧ |
| Enter | ⟦Šéléçt~~~⟧ |
| Escape | ⟦Çlóšé~~⟧ |
| a–z | ⟦Týpéáhéád tó fíltér óptíóñš~~~~~~~~~~⟧ |
⟦Áççéššíbílítý~~~~~⟧
⟦ÁRÍÁ çómbóbóx + líštbóx. Áçtívé óptíóñ íš áññóúñçéd víá áríá-áçtívédéšçéñdáñt. Çóñtéñt éxpóšéš ópéñ/çlóšéd štáté; óptíóñš éxpóšé híghlíghtéd, díšábléd áñd (íñ múltíplé módé) šéléçtéd štáté. Úšé Émptý tó éxpláíñ whéñ ñó óptíóñš mátçh. Pópúp préšéñçé mótíóñ íš díšábléd whéñ rédúçéd mótíóñ íš préférréd.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧
⟦Štýlíñg hóókš~~~~~⟧
data-statedata-highlighteddata-disableddata-selected