Dropdown 下拉菜单
向下弹出的列表,用于承载更多的操作或选项。支持悬停/点击触发、图标、分割线、禁用项、危险操作、多方向弹出等。
综合演示
一个完整的用户操作下拉菜单,展示图标、分割线、禁用项、危险操作等多种特性组合使用。
基础用法
通过 items 定义菜单项,默认悬停触发。
触发方式
支持 hover(悬停)和 click(点击)两种触发方式。
带图标菜单
菜单项通过 icon 字段指定图标名称,图标使用 NIcon 组件渲染。
分割线与禁用项
通过 divider: true 添加分割线,通过 disabled: true 禁用菜单项。
危险操作
菜单项设置 danger: true 标记为危险操作,显示为红色。
弹出位置
通过 placement 设置弹出方向,支持上、下方向及左、中、右对齐。
自定义触发元素
通过 #trigger 插槽自定义触发元素,可以是文字、图标等任意内容。
点击展开
事件回调
选择菜单项时触发 select 事件,返回 key 和完整菜单项数据。
Props
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
items | DropdownItem[] | — | 菜单项数据(必填) |
trigger | 'hover' | 'click' | 'hover' | 触发方式 |
placement | 'bottom-start' | 'bottom' | 'bottom-end' | 'top-start' | 'top' | 'top-end' | 'bottom-start' | 弹出位置 |
DropdownItem
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
label | string | — | 菜单项文本(必填) |
key | string | number | — | 菜单项唯一标识,用于 select 事件回调 |
icon | string | — | 图标名称(NIcon name) |
disabled | boolean | false | 是否禁用 |
danger | boolean | false | 是否为危险操作样式(红色) |
divider | boolean | false | 是否为分割线(设置后 label 无效) |
Events
| 事件名 | 类型 | 说明 |
|---|---|---|
select | (key: string | number | undefined, item: DropdownItem) => void | 点击菜单项时触发 |
Slots
| 插槽名 | 说明 |
|---|---|
trigger | 触发元素插槽 |