先来个自己改写的图:

代码:

结构:<div class="wrap" v-contextmenu:contextmenu>

<v-contextmenu ref="contextmenu">
      <v-contextmenu-item ><i class="fa fa-search"></i>上插入</v-contextmenu-item><v-contextmenu-item><i class="fa fa-search"></i>下插入</v-contextmenu-item><v-contextmenu-item divider></v-contextmenu-item><v-contextmenu-item><i class="fa fa-search"></i>左插入</v-contextmenu-item><v-contextmenu-item><i class="fa fa-search"></i>右插入</v-contextmenu-item><div class="flag"><span><i class="fa fa-star"></i></span></div>
</v-contextmenu></div>

/*右键菜单样式*/
.v-contextmenu{padding: 18px 0 5px 0;
}
.v-contextmenu .flag{width: 31px;height: 30px;position: absolute;top: 0;left: 0;overflow: hidden;
}
.v-contextmenu .flag span{width: 65px;height: 24px;line-height: 33px;display: inline-block;text-align: center;transform: rotate(-40deg);background: #007fff;color: #fff;padding-right: 17px;position: relative;left: -20px;top: -14px;
}
.v-contextmenu .flag span i{color: #fff;
}
.v-contextmenu .v-contextmenu-item{width: 90px;height: 24px;
}
.v-contextmenu .v-contextmenu-item:hover{background: #f4f5f6;border-left: 3px solid #007FFF;color: #65778b;font-weight: 600;
}
.v-contextmenu .v-contextmenu-item:hover i{color: #65778b;
}
.v-contextmenu .v-contextmenu-item i{padding-right: 10px;
}

1、安装

# npm install v-contextmenu --save-dev

2、简单示例

import contentmenu from 'v-contextmenu'
import 'v-contextmenu/dist/index.css'
Vue.use(contentmenu)<template><v-contextmenu ref="contextmenu"><v-contextmenu-item>菜单1</v-contextmenu-item><v-contextmenu-item>菜单2</v-contextmenu-item><v-contextmenu-item>菜单3</v-contextmenu-item></v-contextmenu><div v-contextmenu:contextmenu>右键点击此区域</div>
</template>说明:
指令 :v-contextmenu:ref(v-contextmenu:contextmenu)

3、使用说明api

指令

v-contextmenu:ref

其中 ref 为一个 VContextmenu 的实例,例如

<v-contextmenu ref="contextmenu"><v-contextmenu-item>菜单</v-contextmenu-item> </v-contextmenu> <div v-contextmenu:contextmenu></div>

组件

VContextmenu

根组件

Attributes

参数 说明 类型 可选值 默认值
eventType 触发其显示的事件类型 String 事件名 contextmenu
theme 主题 String default / bright default

Methods

方法名称 说明 参数
show 显示菜单 { top: number, left: number }top 和 left 均为菜单相对浏览器窗口的值
hide 隐藏菜单 --

Events

事件名称 说明 回调参数
show 菜单显示时触发的事件 菜单组件的 vm
hide 菜单隐藏时触发的事件 菜单组件的 vm

VContextmenuItem

单个菜单,只能在 VContextmenuVContextmenuSubmenu 和 VContextmenuGroup 下使用

Attributes

参数 说明 类型 可选值 默认值
divider 是否为分隔符 Boolean true / false false
disabled 是否禁用 Boolean true / false false
autoHide 被点击后菜单是否自动隐藏 Boolean true / false true

Events

事件名称 说明 回调参数
click 菜单被点击时触发的事件 第一个参数是 vm, 第二个参数是该菜单的 event
mouseenter 鼠标移动到菜单上时触发的事件 第一个参数是 vm, 第二个参数是该菜单的 event
mouseleave 鼠标从菜单上离开时触发的事件 第一个参数是 vm, 第二个参数是该菜单的 event

VContextmenuSubmenu

子菜单,可嵌套使用

Attributes

参数 说明 类型 可选值 默认值
title 菜单名 String -- --
disabled 是否禁用 Boolean true / false false

Events

事件名称 说明 回调参数
mouseenter 鼠标移动到菜单上时触发的事件 第一个参数是 vm, 第二个参数是该菜单的 event
mouseleave 鼠标从菜单上离开时触发的事件 第一个参数是 vm, 第二个参数是该菜单的 event

Slots

Slot 名 说明
title 菜单名,和 title 属性二选一

VContextmenuGroup

菜组单,嵌套 VContextmenuItem 使用

Attributes

参数 说明 类型 可选值 默认值
maxWidth 最大宽度 Number / String

提供两种主题

默认

亮色

另外可自行根据 classnames 进行样式覆盖

  • v-contextmenu: 根元素
  • v-contextmenu--default: 根元素-默认主题
  • v-contextmenu--bright: 根元素-亮色主题
  • v-contextmenu-item: 单个菜单
  • v-contextmenu-item--hover: 单个菜单激活状态
  • v-contextmenu-item--disabled: 单个菜单禁用状态
  • v-contextmenu-divider: 分割线
  • v-contextmenu-group: 按钮组根元素
  • v-contextmenu-group__menus: 按钮组按钮容器
  • v-contextmenu-submenu: 子菜单容器
  • v-contextmenu-submenu__title: 子菜单标题
  • v-contextmenu-submenu__icon: 子菜单标题 icon
 

转载于:https://www.cnblogs.com/xuxiaoxia/p/8259985.html

v-contextmenu的使用(右键菜单)相关推荐

  1. HTML5事件——contextmenu 隐藏鼠标右键菜单

    在window中单击右键或在Mac中Ctrl+单击时会触发contextmenu事件,通过取消其默认动作能够提供自己定义菜单. 首先先写一个自己的菜单: <style>ul, li {ma ...

  2. atitit。wondows 右键菜单的管理与位置存储

    atitit.wondows 右键菜单的管理与位置存储 原理 .这样的功能称为Windows外壳扩展(Shell Extensions) 1 常用右键菜单 atiContentMenu1 通用tool ...

  3. JS实现页面右键菜单

    前言 右键菜单也算是前端页面中比较常见的功能了,今天我就带大家完整的实现右键菜单功能. contextmenu事件 实现右键菜单我们需要用到 oncontextmenu事件,oncontextmenu ...

  4. go.js 节点添加右键菜单

    公司项目开发时,采用了go.js绘制节点关系图,需添加右键功能,采坑经历分享. go.js API文档不太好懂,开发功能时,建议从实例入手,然后再去看API文档查找相关属性用法 就很容易理解了.如图: ...

  5. JQuery之ContextMenu(右键菜单)

    JQuery之ContextMenu(右键菜单) 插件下载地址: http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextme ...

  6. Leaflet中使用Leaflet.contextmenu插件实现地图上添加鼠标右键菜单

    场景 Leaflet快速入门与加载OSM显示地图: Leaflet快速入门与加载OSM显示地图_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在上面的基础上,怎样使用Leaflet.co ...

  7. java 树 右键菜单_VUE实现Studio管理后台(八):用右键菜单contextmenu,编辑树形结构...

    RXEdior预设会有文件管理功能,但是灵活性需求不大,目前的设想是文件夹不允许修改,只允许增删改文件.基于这样的设想,把界面实现成这个效果: 这个功能并不是一个通用功能,并且我们做的代码,也没有按照 ...

  8. 【WPF】右键菜单ContextMenu可点击区域太小的问题

    [WPF]右键菜单ContextMenu可点击区域太小的问题 原文:[WPF]右键菜单ContextMenu可点击区域太小的问题 问题描述 正常使用右键菜单ContextMenu时,如果菜单项是不变的 ...

  9. WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法

    WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法 原文:WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法 问题描 ...

  10. WPF中的右键菜单ContextMenu

    WPF中的右键菜单主要是通过ContextMenu来实现,ContextMenu的使用有两种方式 一..在Resources中声明,在控件中使用. 1.在Resources中添加ContextMenu ...

最新文章

  1. IP地址 DNS DHCP 路由器 NAT
  2. print (“{0:<10}{1:>5}“.format(word, count))
  3. OpenCV学习(12) 图像的腐蚀与膨胀(3)
  4. 阿里云时空数据库引擎HBase Ganos上线,场景、功能、优势全解析
  5. 设计模式(八): 从“小弟”中来类比外观模式(Facade Pattern)
  6. java命令可以但是javac命令找不到
  7. ML《集成学习(五)XGBoost》
  8. 《Effective Approaches to Attention-based Neural Machine Translation》—— 基于注意力机制的有效神经机器翻译方法
  9. 马斯克宣布:特斯拉Model Y本月14日发布,预估售价折合人民币25.8万
  10. Web前端开发大系概览 (前端开发技术栈)
  11. 人生杂感随笔-观佛教与道教(六道轮回)
  12. 红米笔记本linux系统版本,小米笔记本安装Win10+Ubuntu16.04 LTS 双系统
  13. vue项目上线后服务器资源更新而浏览器有缓存不更新
  14. Postman打开报错could not open postman 无法打开如何解决
  15. matlab双线性变换切比雪夫2,语音信号滤波去噪——使用双线性变换法设计切比雪夫II型.doc...
  16. 【51单片机】汇编语言程序设计练习(实验报告)
  17. 伺服驱动器在机器人上的研究与应用
  18. SpringBoot+Vue项目大学生网络教学平台的设计与实现
  19. python爬取所有的城市名称
  20. transmac使用方法_TransMac使用教程

热门文章

  1. RedisTemplate和StringRedisTemplate使用
  2. 安卓USB开发教程 四 安卓 AOA
  3. [Redux/Mobx] Redux怎样重置状态?
  4. Taro+react开发(83):taro路由配置
  5. 前端学习(3223):总结props
  6. 前端学习(2870):Vue路由权限『前后端全解析』1
  7. [css] 请描述css的权重计算规则
  8. [css] 什么是视差滚动?如何实现视差滚动的效果?
  9. [css] 怎样去除图片自带的边距?
  10. 前端学习(2026)vue之电商管理系统电商系统之实现分页功能