跳至正文

Context menu

右键点击时打开的菜单。

浏览器
Chrome 151+
为什么是此版本?

CSS anchor positioning places this surface beside its trigger using position-anchor, and anchor(). Older Chrome versions may place the surface away from its trigger.

Firefox 151+
为什么是此版本?

CSS anchor positioning places this surface beside its trigger using position-anchor, and anchor(). Older Firefox versions may place the surface away from its trigger.

Safari 27+
为什么是此版本?

CSS anchor positioning places this surface beside its trigger using position-anchor, and anchor(). Older Safari versions may place the surface away from its trigger.

层级
2
压缩后大小
4.90 kB
强制布局预算
0 ms
axe 预算
0
支持 SSR
是
公开契约
测试环境

交互示例

Context Menu

关闭

右键点击区域

打开

右键点击区域

API

ContextMenu.Root

属性类型默认值说明
childrenReactNode—触发器区域与菜单内容。
defaultOpenboolean—菜单非受控时的初始打开状态。
idstring—承载菜单的弹出层元素id。
onOpenChangePopoverChangeHandler—菜单打开或关闭时调用,提供原因和原始事件。
openboolean—菜单的打开状态,使其受控。

ContextMenu.Trigger

属性类型默认值说明
childrenReactNode—右键点击时打开菜单的区域。
classNamestring—应用于渲染元素的类名。
renderReactElement | ((props, state) => ReactElement)—替换渲染元素,同时保留行为和无障碍连接关系。

ContextMenu.Content

属性类型默认值说明
childrenReactNode—菜单的项目、标签和分隔线。
classNamestring—应用于渲染元素的类名。
renderReactElement | ((props, state) => ReactElement)—替换渲染元素,同时保留行为和无障碍连接关系。

ContextMenu.Item

属性类型默认值说明
childrenReactNode—项目内容。
classNamestring—应用于渲染元素的类名。
disabledbooleanfalse禁用项目,并在键盘导航时跳过。
onSelect(event: MenuSelectEvent) => void—选择项目时调用;对事件调用preventDefault可使菜单保持打开。
textValuestring—项目内容不是纯文本时,供键入跳转匹配的文本。
renderReactElement | ((props, state) => ReactElement)—替换渲染元素,同时保留行为和无障碍连接关系。

ContextMenu.CheckboxItem

属性类型默认值说明
checkedboolean | "indeterminate"false项目的选中状态。
childrenReactNode—项目内容。
classNamestring—应用于渲染元素的类名。
disabledbooleanfalse禁用项目,并在键盘导航时跳过。
onCheckedChange(checked: boolean) => void—选择项目时,使用新的选中状态调用。
textValuestring—项目内容不是纯文本时,供键入跳转匹配的文本。

ContextMenu.RadioItem

属性类型默认值说明
value*string—此项目在菜单内选择的值。
childrenReactNode—项目内容。
classNamestring—应用于渲染元素的类名。
disabledbooleanfalse禁用项目,并在键盘导航时跳过。
textValuestring—项目内容不是纯文本时,供键入跳转匹配的文本。

ContextMenu.Label

属性类型默认值说明
childrenReactNode—分组标题的文本。
classNamestring—应用于渲染元素的类名。

ContextMenu.Separator

属性类型默认值说明
classNamestring—应用于渲染元素的类名。

ContextMenu.Sub

属性类型默认值说明
childrenReactNode—子菜单触发器及其内容。

ContextMenu.Sub.Trigger

属性类型默认值说明
childrenReactNode—子菜单触发器的标签。
classNamestring—应用于渲染元素的类名。
disabledbooleanfalse禁用触发器,并在键盘导航时跳过。
textValuestring—项目内容不是纯文本时,供键入跳转匹配的文本。

ContextMenu.Sub.Content

属性类型默认值说明
childrenReactNode—子菜单的项目。
classNamestring—应用于渲染元素的类名。

键盘

按键操作
Shift+F10 / Menu key在已聚焦的元素处打开
↑ / ↓在各项之间移动焦点
Escape关闭并返回焦点

无障碍

在指针位置或键盘调用位置打开的菜单模式。

样式钩子

data-statedata-highlighted
本页由机器翻译,尚未经人工审核。