温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Vue如何实现右键菜单

发布时间:2021-10-29 13:03:31 阅读:405 作者:小新 栏目:开发技术
Vue开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

小编给大家分享一下Vue如何实现右键菜单,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

效果图

Vue如何实现右键菜单

安装

npm install vue-contextmenujs


yarn add vue-contextmenujs

使用

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

代码实现

以element-ui图标为例实现右键菜单,图标会为被渲染为<i class="icon"></i>,代码如下:

<template>
  <div  @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)"disabledtrue },
          { label"重新加载(R)"dividedtrueicon"el-icon-refresh" },
          { label"另存为(A)..." },
          { label"打印(P)..."icon"el-icon-printer" },
          { label"投射(C)..."dividedtrue },
          {
            label"使用网页翻译(T)",
            dividedtrue,
            minWidth0,
            children: [{ label"翻译成简体中文" }, { label"翻译成繁体中文" }]
          },
          {
            label"截取网页(R)",
            minWidth0,
            children: [
              {
                label"截取可视化区域",
                onClick() => {
                  this.message = "截取可视化区域";
                  console.log("截取可视化区域");
                }
              },
              { label"截取全屏" }
            ]
          },
          { label"查看网页源代码(V)"icon"el-icon-view" },
          { label"检查(N)" }
        ],
        event, // 鼠标事件信息
        customClass"custom-class"// 自定义菜单 class
        zIndex3// 菜单样式 z-index
        minWidth230 // 主菜单最小宽度
      });
      return false;
    }
  }
};
</script>

菜单选项都在items数组里面,可根据需要自行配置。这时候点击右键,菜单弹窗就神奇地出现了,是不是很简单!

自定义样式

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

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

Vue如何实现右键菜单

总结

以上就基本使用方法,是不是比自己封装节省了大把时间。注意菜单会在点击左键或者滚轮滚动时自动销毁,同时也可调用this.$contextmenu.destroy()在其他场景自行销毁 。以下是插件的参数配置:

MenuOptions 菜单属性

Vue如何实现右键菜单

MenuItemOptions 选项属性

Vue如何实现右键菜单

看完了这篇文章,相信你对“Vue如何实现右键菜单”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vue
AI

开发者交流群×