Vue 中使用右键菜单

一、前言

老的项目中有使用右键菜单,在拿过来用的时候有些问题,又找了些新的组件进行对比,在这里记录下。

二、组件对比

v-contextmenu :这个组件是原型项目中使用的,在拿过来的使用的时候一直安装不成功,提示需要的依赖不能正确安装,于是就放弃了这个(GitHub 地址);
vue-contextmenu:这个组件安装成功了,安装使用说明一直不成功,最后也放弃了(GitHub 地址);
vue-context-menu:最后选择这个,使用也较简单(GitHub 地址),不过这个有几年没有维护了;

三、使用

1、安装:
npm install vue-context-menu --save

2、在项目中使用

复制代码
<template>
    <div @contextmenu.prevent="onContextShow()" />
    <Contextmenu ref="contextmenu" class="context-menu">
        <li v-show="contextmenuList.add" @click="addGroup(0)">添加</li>
        <li v-show="contextmenuList.edit" @click="editGroup">修改</li>
        <li v-show="contextmenuList.delete" @click="removeGroup">删除</li>
    </Contextmenu>
</template>

<script>
// 直接在组件中引入使用
import Contextmenu from 'vue-context-menu'

export default {
   components: {
     Contextmenu
   },
   methods: {
        onContextShow(data) {
          this.$refs.contextmenu.open()
        },
    }
}
</script>
<style lang="scss">
  .context-menu {
    .ctx-menu {
      min-width: 65px;
      font-size: 14px;

      li {
        padding: 5px 14px;
        text-align: center;
        cursor: pointer;

        &:hover {
          background-color: #409eff;
        }
      }
    }
  }
</style>
复制代码

上面是整个代码的使用,在使用的过程中可以多层级,直接使用 li=》ul=》li 这样进行嵌套。

样式就是要嵌套下组件的 class 就可以。

 
posted @   漠里  阅读(5695)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示