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

本文详细讲解了在Vue中实现右键二级菜单的方法。通过在元素上绑定`contextmenu`事件,配合`v-for`遍历数据,以及在`data()`中定义变量控制菜单显示,使用`watch`监听`visible`变化来实现菜单的打开和关闭。在`methods`中定义打开和关闭菜单的方法,并在样式中设置菜单样式,完成自定义右键菜单的功能。
摘要由CSDN通过智能技术生成

在所编辑的页面,需要添加右键菜单的元素,绑定contextmenu事件,如下:

v-for="item in resourceList"

:key="item.id"

@click="handleClickFolder(item)"

@contextmenu.prevent="openMenu($event,item)"

>

在页面编写右键菜单内容:

  • 内容

在data()中定义需要的变量属性

data() {

return {

visible: false,

top: 0,

left: 0

}

}

观察visible的变化,来触发关闭右键菜单,调用关闭菜单的方法

watch: {

visible(value) {

if (value) {

document.body.addEventListener('click', this.closeMenu)

} else {

document.body.removeEventListener('click', this.closeMenu)

}

}

}

在method中定义打开右键菜单和关闭右键菜单的两个方法

openMenu(e, item) {

this.rightClickItem = item;

let x = e.clientX;

let y = e.clientY;

this.top = y;

this.left = x;

this.visible = true;

},

closeMenu() {

this.visible = false;

}

在style中写右键菜单的样式

.contextmenu {

margin: 0;

background: #fff;

z-index: 3000;

position: fixed;

list-style-type: none;

padding: 5px 0;

border-radius: 4px;

font-size: 12px;

font-weight: 400;

color: #333;

box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);

}

.contextmenu li {

margin: 0;

padding: 7px 16px;

cursor: pointer;

}

.contextmenu li:hover {

background-color: rgb(3, 125, 243);;

color: white;

}

到此这篇关于vue中如何自定义右键菜单详解的文章就介绍到这了,更多相关vue自定义右键菜单内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值