先来个自己改写的图:

代码:

结构:<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. 使用微波炉的十大忌讳
  2. Android4.4 framework分析——ActivityManagerService的启动和对Activity的管理
  3. android 格式格式:YYYYMMDDHH24MISS 的时间戳timestamp
  4. make_shared和shared_ptr的区别
  5. java 中的 io 系统总结
  6. Java性能调优调查结果(第一部分)
  7. leetcode 236. 二叉树的最近公共祖先 思考分析
  8. 【ES6(2015)】Generator
  9. mysql在linux下备份还原,Linux下MySQL的备份与还原
  10. delphi 字符串占用空间_字符串在Python内部是如何省内存的
  11. c#参数修饰符-ref
  12. ASP.NET读取XML文件
  13. oracle11g数据库登录01017,windows oracle11g数据库使用sqlplus登录的时候出现ora-01017报错...
  14. RNN基本原理以及基于Pytorch实践
  15. QT学习笔记(一)之本地播放器
  16. 靠着“反转”设计,这些短视频火了
  17. vue分类筛选方法,filer
  18. Qt5实现可配置截图及基于百度OCR自动识别标题保存文件
  19. NT平台拨号连接密码恢复原理
  20. 【数据结构】堆的全解析

热门文章

  1. [Windows]7种网络编程I/O模型代码实现实例
  2. vc++出现warningC4819的处理方法
  3. vs2008打开vs2010工程项目
  4. ActiveX控件打包成Cab置于网页中自动下载安装
  5. javascript学习系列(19):数组中的Array.from方法
  6. [vue] 使用vue写一个tab切换
  7. [vue] prop是怎么做验证的?可以设置默认值吗?
  8. [css] margin和padding使用的场景有哪些?
  9. 工作324:uni-时间过滤器封装
  10. [vue-cli]vue-cli生成的项目可以使用es6、es7的语法吗?为什么?