ContextMenu
Правый клик по области
Пункты с иконками, разделителем и опасным действием
Без закрытия по клику вне
Входные параметры
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
items | DropdownMenuItem[] | [] | Пункты меню |
ariaLabel | string | 'Контекстное меню' | Подпись меню для скринридеров |
closeOnClickOutside | boolean | true | Закрытие по клику вне меню |
Пункт DropdownMenuItem состоит из полей:
label— текст пункта;icon— код SVG-иконки (см.SvgIcon);shortcut— подсказка справа (горячая клавиша);danger— кнопка опасного действия (красный цвет);disabled— отключает пункт;separator— разделитель перед пунктом.
События
| Событие | Аргументы | Когда срабатывает |
|---|---|---|
select | item: DropdownMenuItem | При выборе активного пункта (кликом, Enter или Space); для отключённых пунктов не срабатывает |
Описание
Контекстное меню открывается по правому клику на содержимом и позиционируется у курсора. Подходит для действий над объектом (копировать, вставить, удалить). Управление меню можно ограничить props closeOnClickOutside, ariaLabel и списком items.
Использование: оберните любую область в C3ContextMenu, передайте items и обработайте событие select. Меню автоматически открывается по правому клику и закрывается по выбору пункта, Escape или клику вне меню.
Дополнительная информация
- Слот по умолчанию — содержимое области, на которой открывается меню.
- Меню телепортируется в
bodyи позиционируется с отступом от границ вьюпорта. - Клавиатурная навигация:
ArrowDown/ArrowUp— по пунктам,Enter/Space— выбор,Escape— закрытие. - Доступность: контейнер имеет
role="menu", пунктыrole="menuitem"иaria-disabledу отключённых. - Отключённые и разделительные пункты пропускаются при навигации с клавиатуры.