vue2中实现右键菜单

news2024/9/23 9:24:53

vue2中实现右键菜单

效果图-右键菜单

在这里插入图片描述

1、安装

npm install vue-contextmenujs

yarn add vue-contextmenujs
  • CDN
<script src="https://unpkg.com/vue-contextmenujs/dist/contextmenu.umd.js">

2、使用

2.1、引入

src/main.js

import Contextmenu from "vue-contextmenujs"
Vue.use(Contextmenu);

CDN引入则不需要Vue.use(Contextmenu)

2.2、代码

textMenu.vue

<template>
  <div style="width:100vw;height:100vh" @contextmenu.prevent="onContextmenu">右键</div>
</template>

<script>
import Vue from 'vue'
import Contextmenu from "vue-contextmenujs"
Vue.use(Contextmenu);
export default {
  methods: {
    onContextmenu(event) {
      this.$contextmenu({
        items: [
          {
            label: "返回(B)",
            onClick: () => {
              this.message = "返回(B)";
              console.log("返回(B)");
            }
          },
          { label: "前进(F)", disabled: true },
          { label: "重新加载(R)", divided: true, icon: "el-icon-refresh" },
          { label: "另存为(A)..." },
          { label: "打印(P)...", icon: "el-icon-printer" },
          { label: "投射(C)...", divided: true },
          {
            label: "使用网页翻译(T)",
            divided: true,
            minWidth: 0,
            children: [{ label: "翻译成简体中文" }, { label: "翻译成繁体中文" }]
          },
          {
            label: "截取网页(R)",
            minWidth: 0,
            children: [
              {
                label: "截取可视化区域",
                onClick: () => {
                  this.message = "截取可视化区域";
                  console.log("截取可视化区域");
                }
              },
              { label: "截取全屏" }
            ]
          },
          { label: "查看网页源代码(V)", icon: "el-icon-view" },
          { label: "检查(N)" }
        ],
        event, // 鼠标事件信息
        customClass: "custom-class", // 自定义菜单 class
        zIndex: 3, // 菜单样式 z-index
        minWidth: 230 // 主菜单最小宽度
      });
      return false;
    }
  }
};
</script>

引入

HelloWorld.vue

<template>
  <div class="hello">
    <!-- 右键菜单插件 -->
    <TextMenu v-if="true"/>
  </div>
</template>

<script>
import TextMenu from './textMenu.vue'

export default {
  name: 'HelloWorld',
   components: {
    TextMenu
  }
}
</script>

<style scoped>

</style>
自定义样式

打开控制台,查看元素即可查看到菜单的各个 class 名称。最外层的 class 为上面的customClass属性设置的值,样式可根据需求自行调整。

<style>
.custom-class .menu_item__available:hover,
.custom-class .menu_item_expand {
  background: #ffecf2 !important;
  color: #ff4050 !important;
}
</style>

效果

在这里插入图片描述

  • 注意

菜单会在点击左键或者滚轮滚动时自动销毁,同时也可调用this.$contextmenu.destroy()在其他场景自行销毁 。

3、插件的参数配置:

1、MenuOptions 菜单属性
属性描述类型可选值默认值
items菜单结构信息MenuItemOptions[]
event鼠标事件信息Event
x菜单显示X坐标, 存在event则失效number0
y菜单显示Y坐标, 存在event则失效number0
zIndex菜单样式z-indexnumber2
customClass自定义菜单classstring
minWidth主菜单最小宽度number150
2、MenuItemOptions 选项属性
属性描述类型可选值默认值
label菜单项名称string
icon菜单项图标, 生成<i class="icon"></i>元素string
disabled是否禁用菜单项booleanfalse
divided是否显示分割线booleanfalse
customClass自定义子菜单classstring
minWidth子菜单最小宽度number150
onClick菜单项点击事件Function()
children子菜单结构信息MenuItemOptions[]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/67510.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python sklearn knn快速实现,保姆级教学

目录介绍KNN实战加载模块读取数据训练、测试数据分割关键环节&#xff1a;训练预测sklearn官方代码实例介绍 首先上链接 https://www.sklearncn.cn/ scikit-learn是基于Python语言的机器学习库&#xff0c;具有&#xff1a; 简单高效的数据分析工具 可在多种环境中重复使用 …

一套Altair Feko复杂结构模型散射和天线辐射仿真建模攻略

导读&#xff1a;Feko软件广泛应用于电磁散射、电磁辐射仿真&#xff0c;例如&#xff1a;天线、天线布局、天线罩、屏蔽效能、电磁散射、频选结构、线束EMC等方面。问题种类繁多&#xff0c;但是无论仿真哪一类问题&#xff0c;其仿真流程是相同的&#xff0c;我们只需掌握了这…

VirtualBox Ubuntu 16.04 磁盘不相邻分区扩容解决方案

前言 博主做期末大作业时用到 VirtualBox 6.1 安装的 Ubuntu 16.04 LTS 虚拟机&#xff0c;开始只分配了 20GB 硬盘&#xff0c;跑实验时发现空间不够&#xff0c;需要对磁盘扩容&#xff0c;折腾了半天&#xff0c;在此做一个小记录。 警告&#xff1a;博主并不精通 Linux&am…

风险评估具体操作流程

概述 风险评估应贯穿于评估对象生命周期 各阶段中。评估对象生命周期各阶段中涉及的风险评估原则和方法昆一致的&#xff0c;但由干各阶段实施内容对象、安全需求不同.使得风险评估的对象、目的、要求等各方面也有所不同。在规划设计阶段&#xff0c;通过风险评估以确定评估对…

摄影师接单小程序开发,自由交易平台

在网红直播经济的强势发展下&#xff0c;年轻一代对于摄影方面的需求急速增长&#xff0c;但是年轻人群体在摄影方面的要求更趋向于个性化&#xff0c;普通的影楼不仅拍摄价格高&#xff0c;在拍摄风格上也比较单调&#xff0c;缺乏创新&#xff0c;难以满足用户消费需求。对于…

cubeIDE开发, stm32的ADC(模数转换器) 开发要点

一、ADC模数转换简介 ADC(Analog-to-Digital Converter&#xff0c;模数转换器) 是将连续变化的模拟信号转换为离散的数字信号的器件。真实世界的模拟信号&#xff0c;例如温度、压力、声音或者图像等&#xff0c;需要转换成更容易储存、处理和发射的数字形式。模数转换器可以实…

cesium切片底图正常出来但控制台一直报错的方法

1、部署ngnix服务 2、修改ngnix配置 在location 下的路径配置如下内容 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods GET, POST, OPTIONS; add_header Access-Control-Allow-Headers DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Re…

程序员需知的8个视频教程网站,建议收藏

上一篇介绍的是在线教程网站以文字性内容为主&#xff0c;同样收藏了一些以视频为主的一些网站&#xff0c;相比较而言&#xff0c;更容易上手&#xff0c;当然&#xff0c;也更加耗时间。 1、B站 简 介&#xff1a;没错&#xff0c;bilibili也可以用来学习&#xff0c;除了番…

吉林优美姿文化:抖音小店店铺评分怎么提升?

现在大家都在抖音平台上购物&#xff0c;只用等商家发货就行了&#xff0c;但是抖音发货也是有一定相关规定的&#xff0c;也需要各位商家去遵守的&#xff0c;那么抖音的发货时效方面有着什么样的规定呢&#xff1f;跟着吉林优美姿小编来看一下吧&#xff01;发货时间&#xf…

TPE-3-CHO;CAS:2351847-81-7;AIE聚集诱导发光

中文名 4,4,4,4-(乙烯-1,1,2,2-四基)四(([1,1-联苯]-3-甲醛)) 英文名 4,4,4,4-(Ethene-1,1,2,2-tetrayl)tetrakis(([1,1-biphenyl]-3-carbaldehyde)) 中文别名 四(3-甲醛基联苯基)乙烯 | 4,4,4,4-(乙烯-1,1,2,2-四基)四(([[1,1-联苯] -3 -甲醛)) 物理化学性质 密度 1.2200.06 g…

spring的BeanPostProcessor分析

spring常见的set注入&#xff0c;就是通过配置文件给变量赋值&#xff0c;这属于第一步注入。BeanPostProcessor还能进行第二次注入&#xff0c;简单来说就是第二是给变量赋值 1、首先定义一个实体类EntityObject&#xff0c;声明get和set方法 package beanPost;public class…

C语言---函数---总结

&#x1f680;write in front&#x1f680; &#x1f4dd;个人主页&#xff1a;认真写博客的夏目浅石. &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​ &#x1f4e3;系列专栏&#xff1a;鹏哥带我学c带我飞 &#x1f4ac;总结&#xff1a;希望你看…

一文了解Linux内核网络设备驱动

1. 接收数据包过程概述 介绍数据包收包过程&#xff0c;有助于我们了解Linux内核网络设备在数据收包过程中的位置&#xff0c;下面从宏观的角度介绍数据包从被网卡接收到进入 socket 接收队列的整个过程&#xff1a; 加载网卡驱动&#xff0c;初始化数据包从外部网络进入网卡…

月子会所管理系统| 月子会所小程序| 数字化门店转型

随着二孩三孩政策的相继开放&#xff0c;中国母婴市场呈现出稳定增长的局面&#xff0c;据相关数据显示&#xff0c;2019年中国母婴市场规模达34950亿元&#xff0c;预计2024年将增长到70000亿元。母婴行业的细分类高&#xff0c;同时还可与多行业进行对接。 母婴月子会所近些年…

Vue3 事件处理

Vue3 事件处理1.基本使用2.事件修饰符3.按键修饰符1.基本使用 我们可以使用 v-on 指令来监听 DOM 事件&#xff0c;从而执行 JavaScript 代码。 v-on 指令可以缩写为 符号。 语法格式&#xff1a; v-on:click"methodName" 或 click"methodName"一个最…

基于jsp+ssm的驾校预约管理系统-计算机毕业设计

项目介绍 驾校预约管理系统是一个高校用来管理教员和学员的授课信息并存储档案必需的一个管理系统&#xff0c;由于时代的进步&#xff0c;它成为了一个现代化管理不可缺少的一部分。它的查询的方便简洁&#xff0c;可以为一个驾校经营者节约足够的时间&#xff0c;为驾校迅速…

QWebEngine集成Netron可视化模型

Netron是一个用于可视化深度学习网络模型的工具软件&#xff0c;主体以JavaScript语言实现&#xff0c;源码在: https://github.com/lutzroeder/netron 。用户可以使用各系统平台的安装包进行安装之后使用&#xff0c;也可以用浏览器使用在线版本: Netron。 Netron支持几乎所有…

ChatGPT 和 Midjourney 将改变我们的生活,日常工作流程将完全改变并与这些新型工具集成

上周末我花了很多时间先玩 Open AI ChatGPT,然后玩 Midjourney。起初我笑了,然后我开始完全被各种可能性所困扰,然后我终于意识到了它的潜力,并开始将其用于更有成效的工作。 注意:我本可以用它来制作一个引人入胜的点击诱饵标题,但我没有. 这是我问 Open AI 聊天的第一…

在python中调用ChatGPT,并使用tkinter打包成exe

在python中调用ChatGpt一、前提1. 安装库2. 获取key3. 调用示例二、tkinter桌面应用网页使用与python使用的对比用它来搜题你将会知道什么叫爽一、前提 小伙伴们都知道&#xff0c;最近这两天ChatGpt最近很火爆&#xff0c;更重要的是他对中文的兼容性很好&#xff0c;比如我问…

以“社交和品质”打通长线运营,UTONMOS打造真正的Web3.0链游破圈之作

元宇宙&#xff08;Metaverse&#xff09;&#xff0c;这个来源于科幻小说的概念已成为真实世界中的流行语。在大众对元宇宙的构想中&#xff0c;" 游戏 " 是优先级最高的落地场景之一。《头号玩家》《赛博朋克 2077》等作品中&#xff0c;" 游戏 " 也多次…