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 |