用vue-contextmenujs进行右键菜单的操作

1.安装依赖

npm install vue-contextmenujs

2.引用在main.js中

import Contextmenu from "vue-contextmenujs"
Vue.use(Contextmenu);
3.使用示例 我是在elementui表格中使用的
<template>
....
<el-table
  .....
        @row-contextmenu="onContextmenu">
  <el-table-column
.......
</el-table>
</template>
<script>
....
methods:{
onContextmenu(row, column, event) { //配置右击菜单
      this.banRightClick()
      this.$contextmenu({
        items: [
          {
            icon: "el-icon-copy-document",
            label: "复制该行信息",
            onClick: () => {
              this.$copyText(JSON.stringify(row)).then(
                e=>{
                  this.$message({
                    type: 'success',
                    message: '已复制编号为 '+row.code+' 的信息'
                  })
                },
                e=>{
                  console.log('复制失败:', e);
                }
              )
              this.restoreRightClick()
            }
          }
        ],
        event,
        customClass: "resource-context-menu",
        zIndex: 999,
        minWidth: 100
      });
      return false;
    },
}
.....
 mounted(){
  document.oncontextmenu = new Function("event.returnValue=false");
}
....
</script>
items是右键菜单选项的列表,你可以往里面添加自定义的菜单
@row-contextmenu是elementui中el-table的一个事件

 当右击某一行时触发

要注意的是,浏览器自带的右键事件会覆盖掉这个事件,会看不到,所以,需要document.oncontextmenu new Function("event.returnValue=false");来禁用浏览器自带的鼠标右键菜单

参考 https://blog.csdn.net/weixin_40252368/article/details/123480196

posted @   妞妞猪  阅读(1704)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示