先来个自己改写的图:

代码:

结构:
<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:;
left:;
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:;
}
.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
 

v-contextmenu的使用(右键菜单)的更多相关文章

  1. (C#)Windows Shell 外壳编程系列7 - ContextMenu 注册文件右键菜单

    原文 (C#)Windows Shell 外壳编程系列7 - ContextMenu 注册文件右键菜单 (本系列文章由柠檬的(lc_mtt)原创,转载请注明出处,谢谢-) 接上一节:(C#)Windo ...

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

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

  3. ASP.NET Aries 入门开发教程8:树型列表及自定义右键菜单

    前言: 前面几篇重点都在讲普通列表的相关操作. 本篇主要讲树型列表的操作. 框架在设计时,已经把树型列表和普通列表全面统一了操作,用法几乎是一致的. 下面介绍一些差距化的内容: 1:树型列表绑定: v ...

  4. 添加右键菜单命令 在此处打开命令窗口(E)(带图标)

    @color 0A @title 添加右键菜单命令 在此处打开命令窗口(^&E)(带图标) by wjshan0808 @echo off reg add HKCR\Directory\Bac ...

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

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

  6. [Asp.net]Calendar+JqueryUi实现日程管理(右键菜单,添加,编辑,删除,源码)

    引言 出差终于回来了,这篇文章算是这个月的博客的开篇吧. 上篇文章:[Asp.net]Calendar+JqueryUi实现日程管理——添加日程 上篇文章主要贴了一些该项目的界面,这里面,将主要代码也 ...

  7. [ActionScript 3.0] 自定义右键菜单

    将自定义右键菜单的一些属性和方法归纳到AddRightMenu.as,通过实例化此类,调用相关方法即可测试! package { import flash.display.Sprite; import ...

  8. JS组件系列——Bootstrap右键菜单解决方案:ContextMenu

    前言:有段时间没发表随笔了,过个年人都变得懒了.新年刚来上班,今天正好得空,将去年遗留的两个小组件总结记录下.有朋友跟我说:你的bootstrap组件要能够形成一个可以满足一般项目需求的系列组件,才有 ...

  9. 3种不同的ContextMenu右键菜单演示

    简单使用的右键菜单,希望能帮助大家.下面是截图和实例代码 实例预览 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...

  10. jQuery右键菜单contextMenu使用实例

    在最近项目中需要频繁的右键菜单操作.我采用了contextMenu这款jQuery插件. 参考网址:http://www.jb51.net/article/58709.htm 官网demo http: ...

随机推荐

  1. Vue页面骨架屏(二)

    实现思路 参考原文中在构建时使用 Vue 预渲染骨架屏一节介绍的思路,我将骨架屏也看成路由组件,在构建时使用 Vue 预渲染功能,将骨架屏组件的渲染结果 HTML 片段插入 HTML 页面模版的挂载点 ...

  2. HttpModule用户的验证

    HttpModule是向实现类提供模块初始化和处置事件.当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于H ...

  3. BNUOJ 1589 Closest Common Ancestors

    Closest Common Ancestors Time Limit: 2000ms Memory Limit: 10000KB This problem will be judged on PKU ...

  4. 详解js变量声明提升

    之前一直觉会认为javascript代码执行是由上到下一行行执行的.自从看了<你不知道的JS>后发现这个观点并不完全正确.先来给大家举一个书本上的的例子: var a='hello wor ...

  5. 【BZOJ2527】Meteors(整体二分)

    题意: Byteotian Interstellar Union有N个成员国.现在它发现了一颗新的星球,这颗星球的轨道被分为M份(第M份和第1份相邻),第i份上有第Ai个国家的太空站. 这个星球经常会 ...

  6. csu - 1537: Miscalculation (模拟题)

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1537 因为给出的式子是必定合法的,只要用两个栈分别保存符号和数字.算出答案后和从左至右算的答案比对 ...

  7. oracle删除表前先判断表是否存在

     DECLARE  numbe NUMBER;BEGIN  SELECT COUNT(1)    INTO numbe    FROM USER_TABLES   WHERE TABLE_NAME = ...

  8. SpringBoot使用logback自定义配置时遇到的坑 --- 在 /tmp目录下自动生成spring.log文件

    问题描述 SpringBoot项目使用logback自定义配置后,会在/tmp/ 目录下生成 spring.log的文件(如下图所示). 解决方案 通过各种资料的搜索,最终发现问题的所在(logbac ...

  9. JSP操作

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/actions.html: JSP操作(Action)使用XML语法结构来控制Servlet引擎的行为.可 ...

  10. C# .NET 如何批量增加或取消注释

    选中一批文本之后 批量增加注释:Ctrl+K Ctrl+C 批量取消注释:Ctrl+K Ctrl+U