表示一组操作的菜单,在右键点击或长按时显示。
<ContextMenu.Root>
<ContextMenu.Trigger>
<RightClickZone style={{ height: 150 }} />
</ContextMenu.Trigger>
<ContextMenu.Content>
<ContextMenu.Item shortcut="⌘ E">编辑</ContextMenu.Item>
<ContextMenu.Item shortcut="⌘ D">复制</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ N">归档</ContextMenu.Item>
<ContextMenu.Sub>
<ContextMenu.SubTrigger>更多</ContextMenu.SubTrigger>
<ContextMenu.SubContent>
<ContextMenu.Item>移动到项目…</ContextMenu.Item>
<ContextMenu.Item>移动到文件夹…</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item>高级选项…</ContextMenu.Item>
</ContextMenu.SubContent>
</ContextMenu.Sub>
<ContextMenu.Separator />
<ContextMenu.Item>分享</ContextMenu.Item>
<ContextMenu.Item>添加到收藏夹</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ ⌫" color="red">
删除
</ContextMenu.Item>
</ContextMenu.Content>
</ContextMenu.Root>
该组件继承自 上下文菜单原语。
包含上下文菜单的所有部分。
包裹将打开上下文菜单的元素。
当上下文菜单打开时弹出的组件。
Prop | Type | Default |
---|---|---|
size | Responsive<"1" | "2"> | "2" |
variant | "solid" | "soft" | "solid" |
color | enum | No default value |
highContrast | boolean | No default value |
用于渲染标签。不能使用箭头键聚焦。
包含上下文菜单项的组件。
Prop | Type | Default |
---|---|---|
asChild | boolean | No default value |
color | enum | No default value |
shortcut | string | No default value |
用于将多个 Item
部分分组。
用于将多个 RadioItem
部分分组。
一个可以像单选按钮一样控制和渲染的项。
Prop | Type | Default |
---|---|---|
color | enum | No default value |
一个可以像复选框一样控制和渲染的项。
Prop | Type | Default |
---|---|---|
color | enum | No default value |
shortcut | string | No default value |
包含子菜单的所有部分。
打开子菜单的项。必须在 ContextMenu.Sub
内渲染。
当子菜单打开时弹出的组件。必须在 ContextMenu.Sub
内渲染。
使用 size
属性控制大小。
<Grid columns="2" gap="3">
<ContextMenu.Root>
<ContextMenu.Trigger>
<RightClickZone title="大小一" />
</ContextMenu.Trigger>
<ContextMenu.Content size="1">
<ContextMenu.Item shortcut="⌘ E">编辑</ContextMenu.Item>
<ContextMenu.Item shortcut="⌘ D">复制</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ N">归档</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ ⌫" color="red">
删除
</ContextMenu.Item>
</ContextMenu.Content>
</ContextMenu.Root>
<ContextMenu.Root>
<ContextMenu.Trigger>
<RightClickZone title="大小二" />
</ContextMenu.Trigger>
<ContextMenu.Content size="2">
<ContextMenu.Item shortcut="⌘ E">编辑</ContextMenu.Item>
<ContextMenu.Item shortcut="⌘ D">复制</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ N">归档</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ ⌫" color="red">
删除
</ContextMenu.Item>
</ContextMenu.Content>
</ContextMenu.Root>
</Grid>
使用 variant
属性自定义上下文菜单的视觉风格。
<Grid columns="2" gap="3">
<ContextMenu.Root>
<ContextMenu.Trigger>
<RightClickZone title="实心" />
</ContextMenu.Trigger>
<ContextMenu.Content variant="solid">
<ContextMenu.Item shortcut="⌘ E">编辑</ContextMenu.Item>
<ContextMenu.Item shortcut="⌘ D">复制</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ N">归档</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ ⌫" color="red">
删除
</ContextMenu.Item>
</ContextMenu.Content>
</ContextMenu.Root>
<ContextMenu.Root>
<ContextMenu.Trigger>
<RightClickZone title="柔和" />
</ContextMenu.Trigger>
<ContextMenu.Content variant="soft">
<ContextMenu.Item shortcut="⌘ E">编辑</ContextMenu.Item>
<ContextMenu.Item shortcut="⌘ D">复制</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ N">归档</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ ⌫" color="red">
删除
</ContextMenu.Item>
</ContextMenu.Content>
</ContextMenu.Root>
</Grid>
使用 color
属性分配特定的 颜色。您还可以将 color
传递给特定项以出于语义原因覆盖(即破坏性操作)。
<Grid columns="2" gap="3">
<ContextMenu.Root>
<ContextMenu.Trigger>
<RightClickZone title="靛蓝" />
</ContextMenu.Trigger>
<ContextMenu.Content color="indigo">
<ContextMenu.Item shortcut="⌘ E">编辑</ContextMenu.Item>
<ContextMenu.Item shortcut="⌘ D">复制</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ N">归档</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ ⌫" color="red">
删除
</ContextMenu.Item>
</ContextMenu.Content>
</ContextMenu.Root>
<ContextMenu.Root>
<ContextMenu.Trigger>
<RightClickZone title="青色" />
</ContextMenu.Trigger>
<ContextMenu.Content color="cyan">
<ContextMenu.Item shortcut="⌘ E">编辑</ContextMenu.Item>
<ContextMenu.Item shortcut="⌘ D">复制</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ N">归档</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ ⌫" color="red">
删除
</ContextMenu.Item>
</ContextMenu.Content>
</ContextMenu.Root>
<ContextMenu.Root>
<ContextMenu.Trigger>
<RightClickZone title="橙色" />
</ContextMenu.Trigger>
<ContextMenu.Content color="orange">
<ContextMenu.Item shortcut="⌘ E">编辑</ContextMenu.Item>
<ContextMenu.Item shortcut="⌘ D">复制</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ N">归档</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ ⌫" color="red">
删除
</ContextMenu.Item>
</ContextMenu.Content>
</ContextMenu.Root>
<ContextMenu.Root>
<ContextMenu.Trigger>
<RightClickZone title="深红" />
</ContextMenu.Trigger>
<ContextMenu.Content color="crimson">
<ContextMenu.Item shortcut="⌘ E">编辑</ContextMenu.Item>
<ContextMenu.Item shortcut="⌘ D">复制</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ N">归档</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ ⌫" color="red">
删除
</ContextMenu.Item>
</ContextMenu.Content>
</ContextMenu.Root>
</Grid>
使用 highContrast
属性增加与背景的颜色对比度。
<Grid columns="2" gap="3">
<ContextMenu.Root>
<ContextMenu.Trigger>
<RightClickZone title="标准" />
</ContextMenu.Trigger>
<ContextMenu.Content color="gray">
<ContextMenu.Item shortcut="⌘ E">编辑</ContextMenu.Item>
<ContextMenu.Item shortcut="⌘ D">复制</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ N">归档</ContextMenu.Item>
</ContextMenu.Content>
</ContextMenu.Root>
<ContextMenu.Root>
<ContextMenu.Trigger>
<RightClickZone title="高对比度" />
</ContextMenu.Trigger>
<ContextMenu.Content color="gray" highContrast>
<ContextMenu.Item shortcut="⌘ E">编辑</ContextMenu.Item>
<ContextMenu.Item shortcut="⌘ D">复制</ContextMenu.Item>
<ContextMenu.Separator />
<ContextMenu.Item shortcut="⌘ N">归档</ContextMenu.Item>
</ContextMenu.Content>
</ContextMenu.Root>
</Grid>