SelectMenu
С поиском
Выбрано: —
Размеры
Состояния
Входные параметры
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
options | SelectOption[] | [] | Список опций: { label: string, value: string | number, disabled?: boolean }. |
placeholder | string | 'Выберите значение' | Подсказка триггера, когда ничего не выбрано. |
searchPlaceholder | string | 'Поиск...' | Подсказка в поле поиска. |
size | 'sm' | 'md' | 'lg' | undefined | Размер поля. Если не задан, берётся из C3FormField. |
disabled | boolean | false | Отключает список. |
error | boolean | false | Флаг ошибки. |
name | string | undefined | Имя поля. |
maxHeight | string | '20rem' | Максимальная высота списка опций (CSS-значение). |
v-model привязывает выбранное значение через defineModel<string | number | undefined>().
Описание
Компонент C3SelectMenu — селект-меню: триггер открывает меню с полем поиска и прокручиваемым списком опций. Идеален для длинных списков.
Используйте options для списка и searchPlaceholder/maxHeight для управления поиском и высотой. При отсутствии совпадений показывается «Ничего не найдено».
Дополнительная информация
- Слоты отсутствуют.
- Меню рендерится через
Teleport to="body"с рольюlistbox; опции —role="option"сaria-selected. - Триггер открывается кликом,
Enter, пробелом илиArrowDown; несётaria-haspopup="listbox"иaria-expanded. - Клавиатура в меню:
ArrowDown/ArrowUp— навигация,Enter— выбор,Escape— закрытие; при открытии фокус переходит в поле поиска. - Компонент интегрируется с
C3FormField: берёт ошибку из контекста и регистрирует геттер значения для валидации.