DropdownMenu

Базовое меню

open: false

Пункты с иконками, подсказками и разделителями

Отключённые пункты и опасное действие

Входные параметры

ИмяТипПо умолчаниюОписание
itemsDropdownMenuItem[][]Пункты меню
ariaLabelstring'Меню'Подпись меню для скринридеров
closeOnClickOutsidebooleantrueЗакрытие по клику вне меню
focusOnOpenbooleanfalseПереносит фокус на первый доступный пункт сразу после открытия, в том числе при открытии через v-model:open. Нужен меню, открываемому не с триггера: по Tab из поля фокус на триггер не переходит, и без этого пропу стрелки не доходят до меню

Пункт DropdownMenuItem состоит из полей:

  • label — текст пункта;
  • icon — код SVG-иконки (см. SvgIcon);
  • shortcut — подсказка справа (горячая клавиша);
  • danger — кнопка опасного действия (красный цвет);
  • disabled — отключает пункт;
  • separator — разделитель перед пунктом.

v-model

v-model:open (boolean, по умолчанию false) — управляет открытием меню.

События

СобытиеАргументыКогда срабатывает
selectitem: 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 — закрытие.
  • Отключённые и разделительные пункты пропускаются при навигации с клавиатуры.
×