[TOC]

>[success] # :-: vue-右键菜单功能

[在线demo点击我](https://xunleif2e.github.io/vue-context-menu/demo/dist/#/)

项目中有时候会有右键菜单的需求,所以在github找了一个[右键菜单](https://github.com/xunleif2e/vue-context-menu)的插件,使用方法如下:

>[success] ## 安装

~~~

npm install @xunlei/vue-context-menu

~~~

>[success] ## 注册组件

1.全局注册,在main.js引入如下以下文件

~~~

import VueContextMenu from '@xunlei/vue-context-menu'

Vue.use(VueContextMenu)

~~~

2.局部注册,在使用到的.vue文件引入

~~~

import { component as VueContextMenu } from '@xunlei/vue-context-menu'

正确写法:

components: { VueContextMenu }

错误写法(文档中写法):

components: { 'vue-context-menu': VueContextMenu }

~~~

注意:这里要这么写不能按照他文档中的写法如果按照文档中写法会报错: 未知的自定义元素: - 您是否正确注册了组件? 对于递归组件,请确保提供“名称”选项。

>[success] ## 使用案例

~~~

// html部分

ref="contextMenu"

:target="contextMenuTarget"

:show="contextMenuVisible"

@update:show="(show) => contextMenuVisible = show">

复制

引用

删除

// 这里的@update:show="(show) => contextMenuVisible = show" 也可以去掉然后把上面的自定义属性改成

// :show.sync="contextMenuVisible"也是好用的

// js部分

import { component as VueContextMenu } from '@xunlei/vue-context-menu'

export default {

components: { VueContextMenu },

data(){

return{

contextMenuTarget:document.body, // 可右键区域,这里也可以绑定$refs

contextMenuVisible:false // 控制菜单显示隐藏

}

},

methods: {

copyMsg(){

alert('点击复制')

},

quoteMsg(){

alert('点击引用')

},

deleteMsg(){

alert('点击删除')

}

}

}

// css部分

/deep/ td.table_td_h {

padding: 17px 0;

}

/deep/ .right-menu {

display: none;

position: fixed;

background: #fff;

border: 1px solid #bababa;

border-radius: 3px;

z-index: 999;

box-shadow: 2px 2px 3px 0px rgba(51, 42, 40, 0.7);

border-radius: 1px;

p{

margin: 0;

display: block;

width: 200px;

height: 35px;

line-height: 35px;

text-align: left;

padding: 0 24px 0 32px;

color: #000000;

cursor: pointer;

font-size: 15px;

border-bottom: 1px solid #e8eaed;

&:hover{

background: #e8eaed;

}

}

.menu-disable{

cursor: no-drop;

color: #80868b;

}

}

~~~

~~~

这里'为什么要写样式'呢,因为npm后不知道是什么原因样式没有引入进来,就只能这样使用时候把样式写到

用到'右键菜单'的.vue文件中,或者弄一个全局的css文件写到里面也可以。

~~~

>[danger] ## 需要注意

实际开发中element ui的tree插件的右键功能跟这个右键功能有冲突,在点击右键时候element ui的tree插件是好用的,右键菜单不好用,如图:

![](https://i.vgy.me/N9h1ff.png)

解决办法:

~~~

treeNodeRightClick(nodeData){ // 右键左侧树

// 右键树的事件的时候调用右键菜单的方法把event对象传入进去就好用了

// this.$refs.contextMenu是右键菜单的组件

this.$refs.contextMenu.contextMenuHandler(event)

}

~~~

vue鼠标右键自定义菜单_vue-右键菜单功能相关推荐

  1. vue实现页面权限显示_vue实现菜单权限控制

    大家在做后台管理系统时一般都会涉及到菜单的权限控制问题.当然解决问题的方法无非两种--前端控制和后端控制.我们公司这边的产品迭代速度较快,所以我们是从前端控制路由迭代到后端控制路由.下面我会分别介绍这 ...

  2. pyqt5 treeview鼠标右键菜单事件_【动手实践】使用 Vue 自定义指令实现右键菜单...

    本文来自于 神奇的程序员 前言 浏览器里右键时会有一个默认的菜单,在我的开源项目中正好有自定义右键菜单的需求,在npm库找了下与之相关的包,发现都是以组件形式实现的,感觉那种做法太过繁琐. 于是,我就 ...

  3. vue鼠标右键自定义菜单_使用Vue自定义指令实现右键菜单

    前言 浏览器里右键时会有一个默认的菜单,在我的开源项目中正好有自定义右键菜单的需求,在npm库找了下与之相关的包,发现都是以组件形式实现的,感觉那种做法太过繁琐. 于是,我就想着能不能像vue的内置指 ...

  4. vue怎么实现右键二级菜单_vue中如何自定义右键菜单详解

    在所编辑的页面,需要添加右键菜单的元素,绑定contextmenu事件,如下: v-for="item in resourceList" :key="item.id&qu ...

  5. vue右键自定义菜单_一款小巧的开源右键菜单管理软件

    要说右键管理软件,果核上面目前收集了几款,例如年久失修的右键管家. 虽然很多年没有更新了,但是软件的功能却正常,日常删除多余的右键菜单没问题. 另外,就是火绒家的右键管家,基本功能也够用 不过嘛,今天 ...

  6. ABP +VUE Elment 通用高级查询(右键菜单)设计+LINQ通用类Expression<Func<TFields, bool>>方法

    ABP +VUE Elment 通用高级查询(右键菜单)设计+LINQ通用类Expression 1. 目前需要用VUE实现源cs系统报表的右键菜单所有和自定义查询功能. 1.1 CS端的右键菜单效果 ...

  7. 右键脚本html,js实现右键自定义菜单

    本文实例为大家分享了右键自定义菜单的具体代码,供大家参考,具体内容如下 #menu { height: 200px; width: 50px; border: 1px solid gray; back ...

  8. 【jQuery】smartMenu右键自定义上下文菜单插件(似web QQ)

    DEMO: http://sources.ikeepstudying.com/menu-mail-qq/ 一.这是什么样的一个插件 我们都知道,默认状态下,我们右键web页面,会出现一个上下文菜单,例 ...

  9. 中的 隐藏鼠标菜单_如何在鼠标右键菜单中添加自定义菜单?工效率提升一倍...

    人都是"懒"的,在使用电脑时,对于常用的操作,步骤太多用久了难免会产生烦躁的情绪,虽然系统已经自带了很多快捷方式,但还是不够用,我们通常都会把常用的东西通过快捷方式来添加到桌面,但 ...

  10. JavaScript学习(三十七)—实现右键自定义菜单的功能

    JavaScript学习(三十七)-实现右键自定义菜单的功能 代码如下: <!DOCTYPE html> <html lang="en"><head& ...

最新文章

  1. 项目简单实用方式_组合替代继承_状态决定行为
  2. python随机抽样numpy_python numpy之np.random的随机数函数使用介绍
  3. 关于win32与win64的兼容性问题
  4. 多进程修改全局变量(python版)
  5. 在 Nginx 上开启 https 实践
  6. 关于微软的VB和C#:为何Basic需要存在,为何VB如此像C#,为何两者不合并等
  7. HDR概念 (二十八)
  8. Log4j和Slf4j的比较
  9. 问题记录——Unity PackageManager下载失败
  10. zemax中如何和matlab中通信,如何在Zemax与Matlab间通信
  11. java-php-python-springboot网上租贸系统计算机毕业设计
  12. 好用的免费CMS网站模板源码下载推荐
  13. zipkin+elk微服务日志收集分析系统
  14. wx_xcx_api.php,GitHub - biangbiang/wxpay-php: php项目基于微信支付JS SDK和JS API的接入开发...
  15. 计算机学院新年祝福语,学院20周年祝福语
  16. Vivado使用技巧(12):设置DCI与内部参考电压
  17. dns服务器未响应网速卡,DNS服务器未响应且网速突然变的不好是什么原因 怎样解决...
  18. 图解Java服务端Socket建立原理
  19. 传统中小企业对SEO的错误认识和偏见
  20. Python图片读写方式之OpenCV 图像算术运算

热门文章

  1. Android JNI开发系列(二)HelloWorld
  2. 顶级数据库行会Percona阿里全面解析下一代云数据库技术
  3. 基于JQuery实现滚动到页面底端时自动加载更多信息
  4. 中国如何引进CMM评估,促进软件产业发展
  5. Halcon求取矩形顶点坐标
  6. 【机器学习】神经网络BP理论与python实例系列
  7. C++11 多线程库使用说明
  8. scala case class 继承_数字硬件系统设计之一:Scala快速入门(2)
  9. linux下python_linux下python安装
  10. python idle 清屏问题的解决