Contextmenu 右键菜单
右键弹出菜单。函数式组件,无需要在 template 中定义。
关联组件
- ElMenu
- ElSubMenu
- ElMenuItem
- ElIcon
- ElDivider
基础用法
类型
ts
ElContextmenu(option: ContextmenuOption): {
close: () => void;
}1
2
3
2
3
使用示例
vue
<script setup lang="ts">
import { ElContextmenu } from 'element-plus-ext'
function showMenu(event: MouseEvent) {
ElContextmenu({
event,
menus: [
{
index: 'open-file',
label: '打开文件',
onClick: () => {
console.log('点击了 打开文件 菜单')
}
}
]
})
}
</script>
<template>
<div @contextmenu="showMenu"></div>
</template>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
API
ContextmenuOption
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| event (必填) | 鼠标事件对象 | MouseEvent | - |
| menus (必填) | 菜单列表 | ContextmenuItem[] | - |
| reserveIconWidth | 是否预留出左侧icon的位置,即使没有设置icon。如果设置了false,但是给菜单设置了icon,这个选项无效。 | boolean | true |
ContextmenuItem
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| index (必填) | 菜单的唯一标识 | string | - |
| label (必填) | 菜单的名称 | string | - |
| icon | 菜单的图标 | Component | - |
| disabled | 是否禁用 | boolean | false |
| children | 子菜单项 | ContextmenuItem[] | - |
| divided | 是否向下显示一个分割线 | boolean | false |
| onClick | 点击菜单项时触发的回调函数 | Function | () => void |