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

vue中添加原生右键菜单

<divv-show="state.contextMenu.visible"class="context-menu":style="{left: `${state.contextMenu.x}px`,top: `${state.contextMenu.y}px`}"
>

数据结构定义

const state = reactive({contextMenu: {visible: false,x: 0,y: 0,currentItem: null}
});// 新增右键菜单处理函数
const handleContextMenu = (event, item) => {event.preventDefault();state.contextMenu = {visible: true,x: event.clientX,y: event.clientY,currentItem: item};
};const closeContextMenu = () => {state.contextMenu.visible = false;
};onMounted(async () => {document.addEventListener('click', closeContextMenu);    
);

在需要触发的组件中调用

 @contextmenu="handleContextMenu($event, item)"

样式定义

/* 新增右键菜单样式 */
.context-menu {position: fixed;background: white;border: 1px solid #ebeef5;border-radius: 4px;box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);z-index: 9999;min-width: 120px;
}.menu-item {padding: 8px 16px;cursor: pointer;display: flex;align-items: center;gap: 8px;
}.menu-item:hover {background-color: #f5f7fa;color: var(--el-color-primary);
}
http://www.xdnf.cn/news/1082161.html

相关文章:

  • LucidShape 2024.09 最新
  • FreeCAD傻瓜教程-拉簧拉力弹簧的画法及草图的附着位置设定和Part工作台中形体构建器的妙用
  • Flutter 使用http库获取网络数据的方法(一)
  • 初识Linux:Linux开发工具gcc/g++和gdb以及Makefile的使用
  • App爬虫工具篇-appium配置
  • 【STM32实践篇】:GPIO 详解
  • 2025使用VM虚拟机安装配置Macos苹果系统下Flutter开发环境保姆级教程--上篇
  • 九、K8s污点和容忍
  • web前端面试-- MVC、MVP、MVVM 架构模式对比
  • 递归与循环
  • 高频交易服务器篇
  • A/B测试实战:页面微小改动如何带来30%转化率提升?
  • ABC413 : E Reverse 2^i
  • Vue前端项目接收webSocket信息
  • Linux网络配置与故障排除完全指南
  • 介绍electron
  • 【ES6】Latex总结笔记生成器(网页版)
  • TailWind CSS Intellisense 插件在VSCode 上不生效
  • LESS/SCSS 高效主题换肤方案
  • 基于 LangChain 实现通义千问 + Tavily 搜索 Agent 的简单实践
  • 在VMware虚拟机中安装Windows 98时,Explorer提示“该程序执行了非法操作,即将关闭”的解决办法
  • 虚拟机与容器技术详解:VM、LXC、LXD与Docker
  • php协程
  • MySQL 数据库传统方式部署主从架构的实现很详细
  • React Native 亲切的组件们(函数式组件/class组件)和陌生的样式
  • 若 VSCode 添加到文件夹内右键菜单中显示(通过reg文件方式)
  • 盘式制动器的设计+说明书和CAD)【6张】+绛重
  • Redis性能优化
  • 权电阻网络DAC实现电压输出型数模转换Multisim电路仿真——硬件工程师笔记
  • 前端捕获异常的全面场景及方法