Skip to content

Repository files navigation

vue-contextmenujs

Vue 原生实现右键菜单组件, 零依赖

sample

快速安装

npm 安装

npm install vue-contextmenujs

CDN

<scriptsrc="https://unpkg.com/vue-contextmenujs/dist/contextmenu.umd.js">

使用

测试中使用的是element-ui图标

importContextmenufrom"vue-contextmenujs"Vue.use(Contextmenu);
<template><divid="app" style="width:100vw;height:100vh" @contextmenu.prevent="onContextmenu"></div></template><script>exportdefault{methods: {onContextmenu(event){this.$contextmenu({items: [{label: "返回(B)",onClick: ()=>{this.message="返回(B)";console.log("返回(B)");}},{label: "前进(F)",disabled: true},{label: "重新加载(R)",divided: true,icon: "el-icon-refresh"},{label: "另存为(A)..."},{label: "打印(P)...",icon: "el-icon-printer"},{label: "投射(C)...",divided: true},{label: "使用网页翻译(T)",divided: true,minWidth: 0,children: [{label: "翻译成简体中文"},{label: "翻译成繁体中文"}]},{label: "截取网页(R)",minWidth: 0,children: [{label: "截取可视化区域",onClick: ()=>{this.message="截取可视化区域";console.log("截取可视化区域");}},{label: "截取全屏"}]},{label: "查看网页源代码(V)",icon: "el-icon-view"},{label: "检查(N)"}],
event,//x: event.clientX,//y: event.clientY,customClass: "class-a",zIndex: 3,minWidth: 230});returnfalse;}}};</script>

参数说明

Menu

属性描述类型可选值默认值
items菜单结构信息MenuItem[]
event鼠标事件信息Event
x菜单显示X坐标, 存在event则失效number0
y菜单显示Y坐标, 存在event则失效number0
zIndex菜单样式z-indexnumber2
customClass自定义菜单classstring
minWidth主菜单最小宽度number150

MenuItem

属性描述类型可选值默认值
label菜单项名称string
icon菜单项图标, 生成<i class="icon"></i>元素string
disabled是否禁用菜单项booleanfalse
divided是否显示分割线booleanfalse
customClass自定义子菜单classstring
minWidth子菜单最小宽度number150
onClick菜单项点击事件Function()
children子菜单结构信息MenuItem[]

About

vue contextmenu

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages