Пропсы корня
| Проп | Тип | По умолчанию |
|---|---|---|
multiple | M | — |
Позволяет выбирать несколько вариантов. Определяет форму value: массив, когда true. | ||
value | M extends true ? V[] : V | null | — |
Текущее выбранное значение (контролируемо). Без multiple значение null очищает выбор, а undefined делает список неконтролируемым. | ||
defaultValue | ListboxValue<V, M> | — |
| Значение, выбранное по умолчанию (неконтролируемо). | ||
onChangeValue | (value: ListboxValue<V, M>) => void | — |
| Колбэк, вызываемый при изменении выбора. | ||
disabled | boolean | — |
| Запрещает взаимодействие и убирает список из порядка обхода по Tab. | ||
size | OptionSize | 'md' |
| Визуальный размер вариантов. | ||
typeahead | boolean | true |
| Включает переход к варианту при наборе начала его подписи. | ||
ref | Ref<HTMLDivElement> | — |
| Ref, передаваемый на элемент списка. | ||
Также принимает все атрибуты <div>.
Дочерние части
ListboxOption
value: значение, которое передаётся вonChangeValueпри выборе варианта. Обязательный.label: простой текст для поиска при вводе, используется вместо текста содержимого.disabled: делает вариант недоступным.size: переопределяет размер списка.
ListboxGroup
Группирует связанные варианты, как нативный optgroup. Назовите группу через aria-labelledby, указывающий на ваш заголовок, или через aria-label.
ListboxOption
| Проп | Тип | По умолчанию |
|---|---|---|
valueобязательный | V | — |
| Значение этого варианта, которое передаётся в колбэк изменения при его выборе. | ||
label | string | — |
| Простой текст варианта для поиска при наборе; используется вместо текста его содержимого. | ||
children | ReactNode | — |
| Содержимое, отображаемое для этого варианта. Может включать текст, иконки или сложную разметку. | ||
size | OptionSize | — |
| Размер варианта для визуальной стилизации. | ||
disabled | boolean | — |
| Отключает весь Option. | ||
ref | Ref<HTMLDivElement> | — |
| Ref, передаваемый на корневой div варианта. | ||
Также принимает все атрибуты <div>.
ListboxGroup
| Проп | Тип | По умолчанию |
|---|---|---|
ref | Ref<HTMLDivElement> | — |
| Ref, передаваемый на элемент группы. | ||
Также принимает все атрибуты <div>.
Типы
ListboxProps<V, M>:V— тип значений,MравенtrueприmultipleListboxOptionProps<V>ListboxGroupPropsListboxValue<V, M>
Модель состояния
- Список владеет выбором, активным вариантом и поиском при вводе.
- Без
multipleзначение — один вариант, сmultiple— массив.