vue实现右击菜单

用的是e-vue-contextmenu
简单使用,有更好的希望一起分享

1.安装

npm install --save e-vue-contextmenu@latest

2.全局注册组件

import Contextmenu from ‘e-vue-contextmenu’
Vue.use(Contextmenu)

3.在div中添加右击事件

在这里插入图片描述@contextmenu.prevent=“rightClick($event,item.id,item.level)”

4.菜单栏

<e-vue-contextmenu
      ref="ctxshow"
      id="contextStyle"
      class="menu"
      @ctx-show="show" 
      @ctx-hide="hide"
    >
      <ul>
        <li @click="mouseClickDel()">删除</li>
        <li @click="mouseClickOpen()">打开</li>
        <li>复制</li>
      </ul>
    </e-vue-contextmenu>

5.methods

methods: {
    rightClick (e, id, level) {
    //接受div参数
      this.rightClickData = {id:id,level:level}
      this.$refs.ctxshow.showMenu(e)
    },
    hideMenu () {
      this.$refs.ctxshow.hideMenu(); // 隐藏菜单
    },
    mouseClickDel (data) {
      this.hideMenu()
      console.log('删除')
    },
    mouseClickOpen (data) {
      this.hideMenu()
      console.log('打开')
    },
    show(data) {
        console.log('显示菜单')
    },
    hide(data) {
        console.log('隐藏菜单')
    }
    }

6.样式

.menu ul {
  margin: 0px;
  padding: 0px;
  text-align: center;
  list-style-type: none;
}

.menu ul li {
  padding: 3px 0px;
  font-size: 12px;
}

.menu ul li:hover {
  background: #e1dddd;
}

.menu ul li a:link {
  color: #000;
  text-decoration: none;
}

7.效果图

在这里插入图片描述

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值