vue-contextmenu-next

1.1.5 • Public • Published

Vue3 自定义右键菜单组件

最新版本说明

  • 支持自定义菜单项左侧图标,目前支持 ElementPlus、Ant Design Vue 中图标,如 CopyDocument,菜单项 icon 参数传 CopyDocument 即可。其中 Ant Design Vue图标支持官方属性配置,通过菜单项 iconOption 参数传入,具体可参考下方示例代码

效果图

效果图 效果图

安装

npm i vue-contextmenu-next

使用

<template>
  <button @contextmenu.prevent="handleContextMenu">
    右键按钮弹出自定义菜单
  </button>
</template>
<script lang="ts" setup>
import { $contextmenu } from "vue-contextmenu-next/index";

const handleContextMenu = ($event: MouseEvent) => {
  $contextmenu({
    x: $event.x,
    y: $event.y,
    menuList: [
      {
        text: "一级菜单",
        icon: "RedoOutlined",
        iconOption: {
          spin: true,
        },
        onClick: () => {},
        children: [
          {
            text: "二级菜单",
            icon: "AlarmClock",
            children: [
              {
                text: "三级菜单",
              },
            ],
          },
        ],
      },
      {
        text: "一级菜单",
        icon: "Apple",
        onClick: () => {},
      },
      {
        text: "一级菜单",
        icon: "List",
        onClick: () => {},
      },
    ],
  });
};
</script>
<style>
html,
body {
  width: 100vw;
  height: 100vh;
}
</style>


参数说明

  • 菜单参数

参数 描述 类型 默认值 必填
x X 坐标 Number 0
y Y 坐标 Number 0
width 菜单宽度 String 200px
height 菜单高度 String auto
itemHeight 菜单项高度 String 40px
maxHeight 菜单最大高度 String 500px
bgColor 菜单背景颜色 String #fff
hoverBgColor 菜单项鼠标悬浮时背景颜色 String #ecf5ff
hoverColor 菜单项鼠标悬浮时字体颜色 String #409eff
customLayoutClass 菜单容器自定义类名 String
customItemClass 菜单项自定义类名 String
menuList 菜单项列表 Array
  • 菜单项参数

参数 描述 类型 默认值 必填
text 菜单项文本 String
icon 菜单项左侧图标 String CopyDocument
iconOption 图标配置项(仅支持Ant Design Vue图标官方属性) Object null
renderKey 菜单项渲染 key String 随机字符串
onClick 菜单项点击事件 Function
children 菜单项子菜单 String 菜单项

Readme

Keywords

Package Sidebar

Install

npm i vue-contextmenu-next

Weekly Downloads

1

Version

1.1.5

License

none

Unpacked Size

14.2 kB

Total Files

11

Last publish

Collaborators

  • houguoqi