DropdownMenu
Базовое меню
open: false
Пункты с иконками, подсказками и разделителями
Отключённые пункты и опасное действие
Входные параметры
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
items | DropdownMenuItem[] | [] | Пункты меню |
ariaLabel | string | 'Меню' | Подпись меню для скринридеров |
closeOnClickOutside | boolean | true | Закрытие по клику вне меню |
focusOnOpen | boolean | false | Переносит фокус на первый доступный пункт сразу после открытия, в том числе при открытии через v-model:open. Нужен меню, открываемому не с триггера: по Tab из поля фокус на триггер не переходит, и без этого пропу стрелки не доходят до меню |
Пункт DropdownMenuItem состоит из полей:
label— текст пункта;icon— код SVG-иконки (см.SvgIcon);shortcut— подсказка справа (горячая клавиша);danger— кнопка опасного действия (красный цвет);disabled— отключает пункт;separator— разделитель перед пунктом.
v-model
v-model:open (boolean, по умолчанию false) — управляет открытием меню.
События
| Событие | Аргументы | Когда срабатывает |
|---|---|---|
select | item: DropdownMenuItem | При выборе активного пункта; для отключённых не срабатывает |
Описание
Выпадающее меню открывается по клику на триггер и позиционируется под ним. Подходит для списка действий, вложенных опций или фильтров. В отличие от ContextMenu, открывается по клику (не правому клику).
Использование: поместите триггер в слот по умолчанию, передайте items и обработайте select. Меню закрывается по выбору пункта, Escape, клику вне или повторному клику на триггер.
Дополнительная информация
- Слот по умолчанию — содержимое триггера. Помещайте туда интерактивный элемент (
C3InputButton,button, ссылку или текст). - Слот оборачивается в
<span role="button" tabindex="0">: клик иEnter/Spaceна самом обёрточке переключают меню. Если в слоте нативная кнопка, её собственная активация обрабатывается один раз, аArrowDownоткрывает меню и фокусирует первый пункт. - Меню телепортируется в
bodyи имеетrole="menu". - Триггер объявлен как кнопка с
aria-haspopup="menu"иaria-expanded. - Клавиатура:
ArrowDownна триггере открывает меню,ArrowDown/ArrowUp— по пунктам,Enter/Space— выбор,Escape— закрытие. - Отключённые и разделительные пункты пропускаются при навигации с клавиатуры.