当前位置: 首页 > news >正文

vue 如何给任意组件使用右键菜单,全局右键菜单

vue 如何给任意组件使用右键菜单,全局右键菜单,支持任意组件中直接调用右键菜单

打开右键菜单:VxeUI.contextMenu.open({ options })
事件触发右键菜单:VxeUI.contextMenu.openByEvent(event, { options })
关闭右键菜单:VxeUI.contextMenu.close()

https://vxeui.com

context_menu_global_open

任意组件调用右键菜单

通过方法调用即可,open 需要自己计算好坐标,openByEvent 可以不用自己计算,支持在 click 或 context-menu 事件中使用

<template><div><vxe-button @click="showMenuEvent1">open 显示</vxe-button><vxe-button @click="showMenuEvent2">openByEvent 显示</vxe-button></div>
</template><script setup>
import { VxeUI } from 'vxe-pc-ui'const showMenuEvent1 = ({ $event }) => {const x = $event.clientXconst y = $event.clientYVxeUI.contextMenu.open({x,y,options: [[{ code: '11', name: '新增' },{ code: '22', name: '删除' },{code: '33',name: '审批',children: [{ code: '44', name: '通过' },{ code: '55', name: '不通过' }]},{ code: '66', name: '查看' }],[{code: '111',name: '更多操作',children: [{ code: '113', name: '编辑' },{ code: '114', name: '取消' }]},{ code: '110', name: '驳回' }]],events: {optionClick ({ option }) {VxeUI.modal.message({content: `点击了 ${option.code}`,status: 'success'})}}})
}const showMenuEvent2 = ({ $event }) => {VxeUI.contextMenu.openByEvent($event, {options: [[{ code: '11', name: '新增' },{ code: '22', name: '删除' },{code: '33',name: '审批',children: [{ code: '44', name: '通过' },{ code: '55', name: '不通过' }]},{ code: '66', name: '查看' }],[{code: '111',name: '更多操作',children: [{ code: '113', name: '编辑' },{ code: '114', name: '取消' }]},{ code: '110', name: '驳回' }]],events: {optionClick ({ option }) {VxeUI.modal.message({content: `点击了 ${option.code}`,status: 'success'})}}})
}
</script>

树组件使用右键菜单

image

<template><div><vxe-tree v-bind="treeOptions" v-on="treeEvents"></vxe-tree></div>
</template><script setup>
import { reactive } from 'vue'
import { VxeUI } from 'vxe-pc-ui'const treeOptions = reactive({transform: true,nodeConfig: {isHover: true,isCurrent: true},menuConfig: {options: [[{ code: '1', name: '新增' },{ code: '2', name: '删除', prefixIcon: 'vxe-icon-delete-fill' },{code: '3',name: '审批',children: [{ code: '4', name: '通过', prefixIcon: 'vxe-icon-check' },{ code: '5', name: '不通过', prefixIcon: 'vxe-icon-close' }]},{ code: '6', name: '查看', prefixIcon: 'vxe-icon-link' }],[{code: '11',name: '更多操作',children: [{ code: '13', name: '编辑', prefixIcon: 'vxe-icon-feedback' },{ code: '14', name: '取消' }]},{ code: '10', name: '驳回', prefixIcon: 'vxe-icon-undo' }]]},data: [{ title: '节点2', id: '2', parentId: null },{ title: '节点3', id: '3', parentId: null },{ title: '节点3-1', id: '31', parentId: '3' },{ title: '节点3-2', id: '32', parentId: '3' },{ title: '节点3-2-1', id: '321', parentId: '32' },{ title: '节点3-2-2', id: '322', parentId: '32' },{ title: '节点3-3', id: '33', parentId: '3' },{ title: '节点3-3-1', id: '331', parentId: '33' },{ title: '节点3-3-2', id: '332', parentId: '33' },{ title: '节点3-3-3', id: '333', parentId: '33' },{ title: '节点3-4', id: '34', parentId: '3' },{ title: '节点4', id: '4', parentId: null },{ title: '节点4-1', id: '41', parentId: '4' },{ title: '节点4-1-1', id: '411', parentId: '42' },{ title: '节点4-1-2', id: '412', parentId: '42' },{ title: '节点4-2', id: '42', parentId: '4' },{ title: '节点4-3', id: '43', parentId: '4' },{ title: '节点4-3-1', id: '431', parentId: '43' },{ title: '节点4-3-2', id: '432', parentId: '43' },{ title: '节点5', id: '5', parentId: null }]
})const treeEvents = {menuClick ({ node, option }) {VxeUI.modal.message({content: `点击了${node.title} - code=${option.code}`,status: 'success'})}
}
</script>

https://gitee.com/x-extends/vxe-pc-ui

http://www.jsqmd.com/news/201012/

相关文章:

  • 本地私有知识库新选择:访答的优势解析
  • 开发测试人员必备网站整合:一步到位,果断收藏了!
  • Spring-boot读书笔记一where is rating() from
  • 计算机深度学习毕设实战-基于卷神经网络的web网页html版通过CNN卷积神经网络对盆栽识别
  • 计及需求响应和电能交互的多主体综合能源系统主从博弈优化调度策略Matlab代码
  • docker的常用命令
  • 少儿编程培训哪家好:机构详细对比与推荐 - 品牌测评鉴赏家
  • html+css实现赛博朋克风格按钮代码
  • 港口集装箱起重机防摇辅助系统
  • 深度学习计算机毕设之基于python机器学习web网页html版通过CNN卷积神经网络对盆栽识别
  • 2026最新运动面料品牌top5推荐!服务覆盖广东广州义乌福建等地优质公司及厂家选择指南,功能性与品质兼具助力运动服饰升级 - 全局中转站
  • I创业颠覆认知——为什么传统产品经理正在消亡,三位超级个体如何重塑产品开发
  • 语音情绪分析让抑郁预警提前一个月
  • 最新流出!7款AI论文神器,知网查重一把过!
  • k8s的常用组件,和命令
  • 2026最新瑜伽面料品牌top5推荐!服务覆盖广东广州义乌福建等地优质公司及厂家选择指南,品质与功能兼具助力服饰产业升级 - 全局中转站
  • 第一章:C语言程序 Pro
  • ZetaChain 跨链原子性解析: 技术机制、生态展望与开发实战
  • 【课程设计/毕业设计】基于机器学习的web网页html版通过CNN卷积神经网络对盆栽识别
  • 大模型产品经理十本经典书籍推荐:从技术原理到商业落地的全方位指南_大模型产品经理必读的十本书籍
  • 商用无忧!企业宣传片免费素材库
  • 深度学习毕设项目:基于深度学习的web网页html版通过CNN卷积神经网络对盆栽识别
  • HTML+CSS制作心跳特效代码
  • 2026本科生必备8个降AI率工具测评榜单
  • 深度学习毕设选题推荐:基于人工智能的web网页html版通过CNN卷积神经网络对盆栽识别
  • 面试必杀:对比 LangGraph 的 `StatefulGraph` 与传统微服务编排(如 Temporal)在处理 LLM 推理时的本质差异
  • 如何使用OpenVINO在Intel显卡上部署PaddleOCR-VL模型
  • 强烈安利10个一键生成论文工具,自考论文写作必备!
  • 【毕业设计】机器学习人工智能基于web网页html版通过CNN卷积神经网络对盆栽识别
  • vue vxe-context-menu 如何给任意组件使用右键菜单,全局右键菜单