上下文菜单
通过右键或长按展示与当前对象相关的操作。
安装
Command
Manual
Use the JGuang UI Registry URL provided on /systems/jguang-ui#install.
安装以下依赖:
npm install @base-ui/react
将以下代码复制到你的项目中。
View complete source: components/ui/context-menu.tsx
根据项目配置更新导入路径。
用法
import {
ContextMenu,
ContextMenuContent,
ContextMenuItem,
ContextMenuTrigger,
} from "@/components/ui/context-menu"
<ContextMenu>
<ContextMenuTrigger>Right click here</ContextMenuTrigger>
<ContextMenuContent>
<ContextMenuItem>Profile</ContextMenuItem>
<ContextMenuItem>Billing</ContextMenuItem>
<ContextMenuItem>Team</ContextMenuItem>
<ContextMenuItem>Subscription</ContextMenuItem>
</ContextMenuContent>
</ContextMenu>
Composition
Use the following composition to build a ContextMenu:
ContextMenu
├── ContextMenuTrigger
└── ContextMenuContent
├── ContextMenuGroup
│ ├── ContextMenuLabel
│ ├── ContextMenuItem
│ └── ContextMenuItem
├── ContextMenuSeparator
├── ContextMenuGroup
│ ├── ContextMenuLabel
│ ├── ContextMenuCheckboxItem
│ └── ContextMenuCheckboxItem
├── ContextMenuSeparator
├── ContextMenuGroup
│ ├── ContextMenuLabel
│ └── ContextMenuRadioGroup
│ ├── ContextMenuRadioItem
│ └── ContextMenuRadioItem
└── ContextMenuSub
├── ContextMenuSubTrigger
└── ContextMenuSubContent
└── ContextMenuGroup
├── ContextMenuItem
└── ContextMenuItem
Basic
A simple context menu with a few actions.
Submenu
Use ContextMenuSub to nest secondary actions.
Shortcuts
Add ContextMenuShortcut to show keyboard hints.
Groups
Group related actions and separate them with dividers.
Icons
Combine icons with labels for quick scanning.
Checkboxes
Use ContextMenuCheckboxItem for toggles.
Radio
Use ContextMenuRadioItem for exclusive choices.
危险操作
Use variant="destructive" to style the menu item as destructive.
Sides
Control submenu placement with side and align props.
从右到左布局
To enable RTL support in JGuang UI, see the RTL configuration guide.
Use side="inline-end" to place the menu on the logical right side of the trigger.
<ContextMenu>
<ContextMenuTrigger>Right click here</ContextMenuTrigger>
<ContextMenuContent side="inline-end">
<ContextMenuItem>Profile</ContextMenuItem>
<ContextMenuItem>Billing</ContextMenuItem>
<ContextMenuItem>Team</ContextMenuItem>
<ContextMenuItem>Subscription</ContextMenuItem>
</ContextMenuContent>
</ContextMenu>
API 参考
See the Base UI documentation for more information.
来源: components/base/context-menu.mdx
JGuang UI 技术文档。