DropdownMenu

下拉菜单:menu / menuitem 语义,方向键与 Home / End 导航、typeahead 跳转,开合时管理焦点。支持普通 / 勾选 / 单选 / 分组 / 子菜单,以及图标与快捷键提示。

属性

属性类型默认值说明
openboolean—受控开关
defaultOpenbooleanfalse非受控初始开关
onOpenChange(open: boolean) => void—开关变化回调
placement'top' | 'bottom' | 'left' | 'right''bottom'期望方向:top / bottom / left / right
align'start' | 'center' | 'end''start'交叉轴对齐:start / center / end
offsetnumber4与触发元素的间距
DropdownMenu.TriggerButtonHTMLAttributes—触发元素,方向键也可打开菜单;asChild 时合并到唯一子元素
Trigger.asChildbooleanfalse不渲染自带按钮,把行为合并到唯一子元素上
DropdownMenu.ContentHTMLAttributes—菜单容器,role="menu"
DropdownMenu.ItemButtonHTMLAttributes—菜单项,role="menuitem",选中后默认关闭
onSelect(event) => void—选中回调;调用 event.preventDefault() 可让菜单保持打开
disabledboolean—禁用项,不参与键盘导航
dangerboolean—危险操作(如删除)显示为警示色
DropdownMenu.CheckboxItemButtonHTMLAttributes—可勾选菜单项,role="menuitemcheckbox",切换后保持打开
CheckboxItem.checkedboolean—受控选中态
CheckboxItem.defaultCheckedbooleanfalse非受控初始选中态
CheckboxItem.onCheckedChange(checked: boolean) => void—选中态变化回调
DropdownMenu.RadioGroupHTMLAttributes—单选项分组,role="group"
RadioGroup.valuestring—受控选中值
RadioGroup.defaultValuestring—非受控初始选中值
RadioGroup.onValueChange(value: string) => void—选中值变化回调
DropdownMenu.RadioItemButtonHTMLAttributes—单选菜单项,role="menuitemradio",选中后保持打开
RadioItem.valuestring—该项的取值,与 RadioGroup 的 value 对应
DropdownMenu.Subobject—子菜单根组件,管理自身的展开状态
DropdownMenu.SubTriggerButtonHTMLAttributes—子菜单触发项,带 aria-haspopup,悬停或方向键展开
DropdownMenu.SubContentHTMLAttributes—子菜单容器,默认在右侧展开
DropdownMenu.GroupHTMLAttributes—分组容器,role="group",可配 aria-label
DropdownMenu.LabelHTMLAttributes—分组标题
DropdownMenu.SeparatorHTMLAttributes—分隔线
DropdownMenu.ShortcutHTMLAttributes—右侧快捷键提示,如 ⌘K