功能强大的下拉菜单组件,支持分组、子菜单、图标和自定义内容。
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
items | (MenuItem | MenuSubItem)[][] | 必需 | 菜单项数组(二维数组,每组为一行) |
align | 'start' | 'end' | 'center' | - | 水平对齐方式 |
side | 'top' | 'right' | 'bottom' | 'left' | 'bottom' | 弹出方向 |
sideOffset | number | 4 | 与触发元素的偏移距离 |
alignOffset | number | 0 | 对齐偏移量 |
collisionPadding | number | 0 | 与视口边缘的碰撞内边距 |
interface MenuItem {
label: string
icon?: string
variant?: 'default' | 'destructive'
disabled?: boolean
handle?: () => void
}interface MenuSubItem {
label: string
items: (MenuItem | MenuSubItem)[][]
}| 名称 | 说明 |
|---|---|
default | 触发元素(必填) |
header | 菜单头部内容 |
footer | 菜单底部内容 |
items 是二维数组,每个子数组为一组,组与组之间会自动添加分割线items 属性嵌套可实现多级子菜单handle 函数处理点击事件variant: 'destructive' 可将菜单项标记为危险操作(红色)