vue中,右键菜单组件v-contextmenu的使用

这篇具有很好参考价值的文章主要介绍了vue中,右键菜单组件v-contextmenu的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vue中,右键菜单组件v-contextmenu的使用

1、效果

右键菜单之禁用和子菜单

vue中,右键菜单组件v-contextmenu的使用

2、流程

第一步:安包

npm install v-contextmenu --save-dev
npm install --save vue-runtime-helpers

第二步:引入

src/main.js

import contentmenu from 'v-contextmenu'
import 'v-contextmenu/dist/index.css'
Vue.use(contentmenu)

package.json

"dependencies": {
    "vue-runtime-helpers": "^1.1.2",
}
"devDependencies": {
    "v-contextmenu": "^2.9.0",
}

第三步:使用

效果1-右键菜单之禁用和子菜单

index.vue

<template>
<div class="wrap" v-contextmenu:contextmenu>
  <v-contextmenu ref="contextmenu" theme="bright">
      <v-contextmenu-item ><i class="fa fa-search"></i>上插入</v-contextmenu-item>
        <v-contextmenu-submenu title="哈哈">
        <v-contextmenu-item ><i class="fa fa-search"></i>上12插入</v-contextmenu-item>
      </v-contextmenu-submenu>
      <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 disabled><i class="fa fa-search"></i>右插入</v-contextmenu-item>
      <div class="flag">
          <span><i class="fa fa-star"></i></span>
      </div>
  </v-contextmenu>
</div>
</template>
<style>
.wrap{
  width: 200px;
  height: 200px;
  border: 1px solid red;
}
</style>

效果2-基本效果

vue中,右键菜单组件v-contextmenu的使用

index.vue

<template>
  <div class="wrap"  v-contextmenu:contextmenu> 
    <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>
</template>
<style>
.wrap{
  width: 200px;
  height: 200px;
  border: 1px solid red;
}
</style>
3、使用说明api

npm地址——https://www.npmjs.com/package/v-contextmenu

另一个参考组件地址——https://www.npmjs.com/package/v-contextmenu-directive

3.1、指令
v-contextmenu:ref

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

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

<div v-contextmenu:contextmenu></div>
3.2、组件
VContextmenu-根元素

根组件

Attributes属性文章来源地址https://www.toymoban.com/news/detail-456010.html

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

    default: 根元素-默认主题(蓝背景)

​ bright: 根元素-亮色主题(红背景)

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

<v-contextmenu ref="contextmenu" theme="bright">

Methods方法

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

Events

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

单个菜单,只能在 VContextmenu, VContextmenuSubmenuVContextmenuGroup 下使用

Attributes

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

    hover: 单个菜单激活状态

    disabled: 单个菜单禁用状态

    divider: 分割线

<v-contextmenu-item divider></v-contextmenu-item>
<v-contextmenu-item :auto-hide="false">不自动关闭1</v-contextmenu-item>

Events

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

子菜单,可嵌套使用

Attributes属性

参数 说明 类型 可选值 默认值
title 菜单名 String
disabled 是否禁用 Boolean true / false false
  • v-contextmenu-submenu: 子菜单容器

​ title: 子菜单标题

​ icon: 子菜单标题 icon

Events事件

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

Slots

Slot 名 说明
title 菜单名,和 title 属性二选一
VContextmenuGroup-按钮组根元素

菜组单,嵌套 VContextmenuItem 使用

Attributes属性

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

`-按钮组根元素

菜组单,嵌套 VContextmenuItem 使用

Attributes属性

参数 说明 类型 可选值 默认值
maxWidth 最大宽度 Number / String
  • v-contextmenu-group__menus: 按钮组按钮容器

到了这里,关于vue中,右键菜单组件v-contextmenu的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue3 如何实现一个函数式右键菜单(ContextMenus)

    前言: 最近在公司 PC 端的项目中使用到了右键出现菜单选项这样的一个工作需求,并且自己现在也在实现一个偶然迸发的 idea ( 想用前端实现一个 windows 系统从开机到桌面的 UI ),其中也要用到右键弹出菜单这样的一个功能,个人觉得这个实现还不错,特来分享🎁。 tips:

    2024年02月06日
    浏览(49)
  • Vue3 + Element Plus 实现动态标签页及右键菜单

    目录 先上图  使用el-dropdown绑定右键菜单,为每个tab页绑定一个右键 右键菜单生效后控制每个下拉项的禁用与显示(每一项代表一个功能) 每个右键项对应的功能  控制每次只显示一个右键 完整代码         只有首页的情况         多个tab页的情况  

    2024年02月07日
    浏览(49)
  • vue项目中el-tree 添加右键菜单的方法

    第006个 查看专栏目录: 按照VUE知识点 ------ 按照element UI知识点 echarts,openlayers,cesium,leaflet,mapbox,d3,canvas 免费交流社区 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、

    2024年02月08日
    浏览(43)
  • 2023年完美解决:windows 11/win 11使用经典右键菜单(win10版右键菜单)

    下载安装会吧:https://www.autohotkey.com 1. 桌面新建一个txt,就是文本文档。然后把以下代码复制到里面去。 解释一下: #IfWinActive ahk_exe explorer.exe 如果资源管理器(explorer.exe)处于激活状态 RButton:: Send {LShift down}{RButton}{LShift up} 点击鼠标右键时,发送快捷键:shift + 右键 2、改名

    2024年02月06日
    浏览(89)
  • 【Vue3 博物馆管理系统】使用Vue3、Element-plus菜单组件构建前台用户菜单

    第一章 定制上中下(顶部菜单、底部区域、中间主区域显示)三层结构首页 第二章 使用Vue3、Element-plus菜单组件构建菜单 [第三章 使用Vue3、Element-plus菜单组件构建轮播图] [第四章 使用Vue3、Element-plus菜单组件构建组图文章] 上一章节给我们把博物馆管理系统打了个地基,基本

    2024年02月13日
    浏览(64)
  • 给Mac添加右键菜单--使用VSCode打开

    如图,在需要打开的文件或文件夹右键 - 快速操作 - 使用 VS Code 打开,即可在VS Code中快速打开文件夹。 1、快捷键 【Command + 空格键】打开搜索,输入【自动操作】,打开 自动操作 应用; 2、点击 新建文档 - 快速操作 - 选取 ; 3、如图,实用工具 - 双击 运行 Shell 脚本 - 工作

    2024年02月07日
    浏览(47)
  • MacBook IDEA 使用蓝牙外接鼠标 点击右键无法呼出菜单(右键点击无反应)

    使用最新版的IDEA(IntelliJ IDEA 2022.1.2 (Ultimate Edition)),并使用蓝牙连接外置鼠标,IDEA右键无法呼出菜单。只能偶尔呼出一次。绝大部分时间无法呼出。此时包括笔记本的鼠标触控板也无法在IDEA中呼出菜单。但是在其他软件都可以正常呼出菜单。只有在IDEA中会出现这个问题。

    2024年02月11日
    浏览(57)
  • vue 在线聊天实战范例(含选择发送表情、图片、视频、音频,自定义右键快捷菜单,一键复制,左右聊天气泡)

    链接:https://pan.baidu.com/s/170pb-MJlMxG2nRj_3Y2VFw?pwd=oknr 提取码:oknr

    2024年02月07日
    浏览(66)
  • 使用 monaco-editor-nls 汉化 右键菜单汉化部分失败原因

    首先使用npm或者其他包管理工具安装依赖插件: 如果右键菜单汉化一部分失败,首先去项目下看node_modules/monaco-editor-nls/locale/zh-hans中搜vs/editor/contrib/format/看一下是否有路径有brower字段,再去对应的node_modules/monaco-editor/esm/vs/editor/contrib/format/formatActions看是否有brower文件夹 如果

    2024年02月15日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包