ContextMenu

Правый клик по области

Кликните правой кнопкой по области

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

Область с расширенным меню

Без закрытия по клику вне

Закрытие только по Esc или выбору пункта

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

ИмяТипПо умолчаниюОписание
itemsDropdownMenuItem[][]Пункты меню
ariaLabelstring'Контекстное меню'Подпись меню для скринридеров
closeOnClickOutsidebooleantrueЗакрытие по клику вне меню

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

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

События

СобытиеАргументыКогда срабатывает
selectitem: DropdownMenuItemПри выборе активного пункта (кликом, Enter или Space); для отключённых пунктов не срабатывает

Описание

Контекстное меню открывается по правому клику на содержимом и позиционируется у курсора. Подходит для действий над объектом (копировать, вставить, удалить). Управление меню можно ограничить props closeOnClickOutside, ariaLabel и списком items.

Использование: оберните любую область в C3ContextMenu, передайте items и обработайте событие select. Меню автоматически открывается по правому клику и закрывается по выбору пункта, Escape или клику вне меню.

Дополнительная информация

  • Слот по умолчанию — содержимое области, на которой открывается меню.
  • Меню телепортируется в body и позиционируется с отступом от границ вьюпорта.
  • Клавиатурная навигация: ArrowDown / ArrowUp — по пунктам, Enter / Space — выбор, Escape — закрытие.
  • Доступность: контейнер имеет role="menu", пункты role="menuitem" и aria-disabled у отключённых.
  • Отключённые и разделительные пункты пропускаются при навигации с клавиатуры.
×