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

el-table左键双击单元格编辑内容(输入框输入计算公式可直接得出结果),右键单击展示操作菜单,可编辑单元格高亮展示

vue2点击左侧的树节点(el-tree)定位到对应右侧树形表格(el-table)的位置,树形表格懒加载

表格代码

    <el-table ref="singleTable" :data="detailsList" highlight-current-row="" row-key="detailId" @row-click="clickTableRow" //左键单击@row-contextmenu="rightClick" //右键单击@cell-dblclick="doubleClick" //双击单元格:cell-style="columnbackgroundStyle" //高亮可编辑单元格><el-table-column type="index" width="80" label="序号" align="center" fixed=""> </el-table-column><el-table-column property="code" label="编码" width="160" fixed=""></el-table-column><el-table-column property="name" label="名称" width="120" align="center" :key="index"><template slot-scope="scope"><span><el-input v-if="scope.row[scope.column.property + 'Show']" clearable="" v-model="scope.row.name" @keyup.enter.native="onBlur(scope.row, scope.column)" @blur="onBlur(scope.row, scope.column)"></el-input><span v-else="">{{ scope.row.name }}</span></span></template></el-table-column></el-table>

操作菜单代码

<div id="menu" class="menu"><ul class="ul1 list-paddingleft-2"><li class="li1" ref="menu1" @mouseover="showChild" @mouseout="hideChild"><span>新增下级</span><i class="el-icon-arrow-right" :style="cssStyle.iconfont"></i><ul ref="childMenu1" class="ul2 list-paddingleft-2"><li class="li2" @click="chooseList()"><span>选择下级</span></li><li class="li2" @click="addList()"><span>补充下级</span></li></ul></li><li class="li1" @click="delMenu()"><span>删除</span></li></ul>
</div>

js代码

// 左键单击事件
clickTableRow(row, column, event) {var menu = document.querySelector("#menu");menu.style.display = "none";
},// 右键单击
rightClick(row, column, event) {this.currentRow = row //存储当前选中的行var menu = document.querySelector("#menu"); //展示操作菜单event.preventDefault();// 页面只读的时候不展示if (this.isRead) {menu.style.display = "none";return}// 根据事件对象中鼠标点击的位置,进行定位menu.style.left = event.clientX + "px";menu.style.top = event.clientY + "px";// 改变自定义菜单的隐藏与显示menu.style.display = "block";this.setCurrent(row);
},
setCurrent(row) {this.$refs.singleTable.setCurrentRow(row);
},
// 展示菜单子级
showChild() {this.$refs.menu1.style.backgroundColor = '#ecf5ff'this.$refs.childMenu1.style.display = 'block'
},
// 隐藏菜单子级
hideChild() {this.$refs.menu1.style.backgroundColor = '#fff'this.$refs.childMenu1.style.display = 'none'
},
// 双击单元格
doubleClickTop(row, column) {// 页面只读时不触发if (this.isRead) {return}// 避免点击过快导致多个输入框处于焦点状态this.$set(row,column.property + 'Show',false)this.$set(row,column.property + 'Show',true)
},
// 输入框鼠标失焦或者键盘回车时触发
onBlur(row, column) {this.$set(row,column.property + 'Show',false)// 请求后台更改数据this.getDetailsList(row)
},
// 根据输入的公式计算出结果(引入main.js工具库)
calculate() {try {this.result = this.mathjs.evaluate(输入框绑定的值);} catch (error) {this.result = '无效的表达式';}
},
// 高亮可编辑单元格
columnbackgroundStyle({ row, column, rowIndex, columnIndex }){if (this.isRead) {return}var columnList=['name']if (columnList.indexOf(column.property)>-1) {return 'background:rgb(249 239 72 / 16%);'}
},

样式部分

.menu:{position: absolute;display: none;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);background: #ffffff;cursor: pointer;color: #606266;width: 200px;border: 1px solid #e4e7ed;font-size: 13px;z-index:999
}
.ul1:{list-style: none;margin: 0px;padding: 0px;
}
.li1:{padding: 0px 10px;height: 30px;line-height: 30px;position: relative;box-sizing: border-box;text-indent: 8px;
}
.ul2:{display: none;position: absolute;left: 200px;top: 0px;width: 200px;border: 1px solid #e4e7ed;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);background-color: #fff;
}
.li2:{background-color: #fff;
}

相关文章:

el-table左键双击单元格编辑内容(输入框输入计算公式可直接得出结果),右键单击展示操作菜单,可编辑单元格高亮展示

vue2点击左侧的树节点&#xff08;el-tree&#xff09;定位到对应右侧树形表格(el-table)的位置&#xff0c;树形表格懒加载 表格代码 <el-table ref"singleTable" :data"detailsList" highlight-current-row"" row-key"detailId"…...

实现HBase表和RDB表的转化(附Java源码资源)

实现HBase表和RDB表的转化 一、引入 转化为HBase表的三大来源&#xff1a;RDB Table、Client API、Files 如何构造通用性的代码模板实现向HBase表的转换&#xff0c;是一个值得考虑的问题。这篇文章着重讲解RDB表向HBase表的转换。 首先&#xff0c;我们需要分别构造rdb和hba…...

10:00面试,10:06就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到8月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…...

【Python】: Django Web开发实战(详细教程)

Python Django全面介绍 Django是一个非常强大的Python Web开发框架&#xff0c;它以"快速开发"和"干净、实用的设计"为设计宗旨。本文将从Django的基本概念开始&#xff0c;逐渐引导大家理解如何使用Django构建复杂的web应用程序。 Django基本概念与原理…...

突破编程_C++_C++11新特性(tuple)

1 std::tuple 简介 1.1 std::tuple 概述 std::tuple 是一个固定大小的不同类型值的集合&#xff0c;可以看作 std::pair 的泛化&#xff0c;即 std::pair 是 std::tuple 的一个特例&#xff0c;其长度受限为 2。与 C# 中的 tuple 类似&#xff0c;但 std::tuple 的功能更为强…...

xss.pwnfunction(DOM型XSS)靶场

环境进入该网站 Challenges (pwnfunction.com) 第一关&#xff1a;Ma Spaghet! 源码&#xff1a; <!-- Challenge --> <h2 id"spaghet"></h2> <script>spaghet.innerHTML (new URL(location).searchParams.get(somebody) || "Somebo…...

安装 docker 和 jenkins

安装 docker #安装 软件包 docker yum install -y yum-utils device-mapper-persistent-data lvm2#设置 yum 源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-c…...

jni入门学习 CMakeLists脚本

在 Android Studio 中使用 CMake 可以编译 C/C 代码&#xff0c;这为开发者提供了在 Android 应用中嵌入本地代码的能力。下面是关于在 Android Studio 中使用 CMake 编译的详细说明&#xff1a; 1. 创建 CMakeLists.txt 文件&#xff1a; 首先&#xff0c;你需要在项目的根目…...

如何在没有向量数据库的情况下使用知识图谱实现RAG

引言 传统上&#xff0c;为大型语言模型&#xff08;LLMs&#xff09;提供长期记忆通常涉及到使用检索增强生成&#xff08;RAG&#xff09;解决方案&#xff0c;其中向量数据库作为长期记忆的存储机制。然而&#xff0c;我们是否能在没有向量数据库的情况下达到相同效果呢&am…...

6.如何判断数据库搜索是否走索引?

判断是否使用索引搜索 索引在数据库中是一个不可或缺的存在&#xff0c;想让你的查询结果快准狠&#xff0c;还是需要索引的来帮忙&#xff0c;那么在mongo中如何判断搜索是不是走索引呢&#xff1f;通常使用执行计划&#xff08;解释计划、Explain Plan&#xff09;来查看查询…...

Java并发编程的性能优化方案中,哪些方法比较常用

在Java并发编程的性能优化方案中&#xff0c;以下是一些常用的方法&#xff1a; 线程池的使用&#xff1a; 线程池可以复用线程&#xff0c;避免频繁地创建和销毁线程&#xff0c;从而提高系统性能。常用的线程池有FixedThreadPool、CachedThreadPool等。根据任务特性选择合适…...

AcWing 2867. 回文日期(每日一题)

原题链接&#xff1a;2867. 回文日期 - AcWing题库 2020 年春节期间&#xff0c;有一个特殊的日期引起了大家的注意&#xff1a;2020 年 2 月 2 日。 因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202&#xff0c;恰好是一个回文数。 我们称这样的日期是…...

学习笔记-华为IPD转型2020:3,IPD的实施

3. IPD的实施 1999 年开始的 IPD 转型是计划中的多个转型项目中的第一个&#xff08;Liu&#xff0c;2015&#xff09;。华为为此次转型成立了一个专门的团队&#xff0c;从大约20人开始&#xff0c;他们是华为第一产业的高层领导。董事会主席孙雅芳是这个团队的负责人。该团…...

2024腾龙杯web签到题-初识jwt(签到:这是一个登录页面)

什么是 jwt? 它是 JSON Web Token 的缩写&#xff0c;是一个开放标准&#xff0c;定义了一种紧凑的、自包含的方式&#xff0c;用于作为JSON对象在各方之间安全地传输信息&#xff0c;该信息可以被验证和信任&#xff0c;因为它是数字签名的。它就是一种认证机制&#xff0c;…...

Monaco Editor系列(一)启动项目与入门示例解析

前言&#xff1a;作为一名程序员&#xff0c;我们工作中的每一天都在与代码编辑器打交道&#xff0c;相信各位前端程序员对 VS Code 一定都不陌生&#xff0c;VS Code 可以为我们提供代码高亮、代码对比等等功能&#xff0c;让我们在开发的时候&#xff0c;不需要对着暗淡无光的…...

DNA存储技术原理是什么?

随着大数据和人工智能的发展&#xff0c;全球每天产生的数据量剧增&#xff0c;对存储设备的需求也随之增长&#xff0c;数据存储问题日益凸显。传统的硬盘驱动器&#xff08;HDD&#xff09;、磁带等冷存和深度归档存储占据数据中心存储的60-70%&#xff0c;由于它们的访问频率…...

多维时序 | Matlab实现VMD-CNN-GRU变分模态分解结合卷积神经网络门控循环单元多变量时间序列预测

多维时序 | Matlab实现VMD-CNN-GRU变分模态分解结合卷积神经网络门控循环单元多变量时间序列预测 目录 多维时序 | Matlab实现VMD-CNN-GRU变分模态分解结合卷积神经网络门控循环单元多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现VMD-CN…...

基于springboot+vue的毕业论文管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…...

JavaWeb后端——分层解耦 IOC DI

分层/三层架构概述 三层架构&#xff1a;Controller、Service、Dao 解耦/IOC&DI概述 分层解耦 容器称为&#xff1a;IOC容器/Spring容器 IOC 容器中创建&#xff0c;管理的对象&#xff0c;称为&#xff1a;bean 对象 IOC&DI入门 实现 IOC&DI 需要的注解&#…...

短视频矩阵系统技术交付

短视频矩阵系统技术交付&#xff0c;短视频矩阵剪辑矩阵分发系统现在在来开发这个市场单个项目来说&#xff0c;目前基本上已经沉淀3年了&#xff0c;那么我们来就技术短视频矩阵剪辑系统开发来聊聊 短视频矩阵系统经过315大会以后&#xff0c;很多违规的技术开发肯定有筛选到了…...

终极指南:用LeetDown免费快速降级你的iPhone,让老设备重获新生

终极指南&#xff1a;用LeetDown免费快速降级你的iPhone&#xff0c;让老设备重获新生 【免费下载链接】LeetDown a GUI macOS Downgrade Tool for A6 and A7 iDevices 项目地址: https://gitcode.com/gh_mirrors/le/LeetDown 还在为旧iPhone升级后卡顿发愁吗&#xff1…...

逆向实战:手把手带你用Node.js复现某音a_bogus算法核心步骤(含完整代码)

深入解析Node.js实现a_bogus算法的核心逻辑与实战应用 在当今Web开发与数据采集领域&#xff0c;理解平台加密机制已成为开发者必备技能。a_bogus作为某平台核心加密参数&#xff0c;其生成过程融合了多种加密技术。本文将彻底拆解这一算法&#xff0c;从底层位运算到高层架构&…...

MetaboAnalystR 4.2:代谢组学数据分析的完整R包解决方案指南

MetaboAnalystR 4.2&#xff1a;代谢组学数据分析的完整R包解决方案指南 【免费下载链接】MetaboAnalystR R package for MetaboAnalyst 项目地址: https://gitcode.com/gh_mirrors/me/MetaboAnalystR MetaboAnalystR 4.2是一个功能强大的R语言代谢组学数据分析工具包&a…...

Qt网络请求的‘收件箱’:QNetworkReply信号与槽的保姆级实战指南

Qt网络请求的‘收件箱’&#xff1a;QNetworkReply信号与槽的保姆级实战指南 想象一下&#xff0c;你每天打开电子邮箱时&#xff0c;系统会自动分类新邮件&#xff1a;重要通知、广告推广、文件附件...而Qt中的QNetworkReply正是这样一个智能收件箱&#xff0c;它能自动分类网…...

2026年降AI工具处理英文论文效果横评:Turnitin达标率对比

2026年降AI工具处理英文论文效果横评&#xff1a;Turnitin达标率对比 帮五个同学处理过论文&#xff0c;加上自己用的&#xff0c;总共测过六七款工具。 结论先说&#xff1a;综合价格、效果、售后&#xff0c;嘎嘎降AI&#xff08;www.aigcleaner.com&#xff09;是最稳的选…...

2026年降AI后重新检测还是偏高怎么处理:多轮降AI完整攻略

2026年降AI后重新检测还是偏高怎么处理&#xff1a;多轮降AI完整攻略 从AI率73%到6%&#xff0c;我花了不到一个晚上。降AI后还是高完整经历记录。 核心工具&#xff1a;嘎嘎降AI&#xff08;www.aigcleaner.com&#xff09;&#xff0c;4.8元&#xff0c;达标率99.26%。踩坑…...

Orwell Dev-C++ 和 Embarcadero Dev-C++ 哪个更好

在选择 Orwell Dev-C 和 Embarcadero Dev-C 时&#xff0c;可以从以下几个角度进行比较&#xff1a;1. 开发背景Orwell Dev-C由独立开发者维护&#xff0c;是原始 Dev-C 的分支版本&#xff0c;专注于修复原版漏洞并保持轻量级特性。Embarcadero Dev-C由软件公司 Embarcadero 维…...

别再傻傻分不清了!一张图看懂TOE、RDMA、SmartNIC和DPU的区别与演进

数据中心加速技术全景解读&#xff1a;TOE、RDMA、SmartNIC与DPU的架构革命 当40G/100G网络成为数据中心标配&#xff0c;传统服务器架构正面临前所未有的性能瓶颈。CPU在协议栈处理上的开销已从"资源占用"演变为"算力黑洞"——根据AWS实测数据&#xff0c…...

C#与Halcon控件深度集成:打造高交互性图像浏览窗口

1. 为什么需要深度集成Halcon控件&#xff1f; 在工业视觉和图像处理领域&#xff0c;Halcon一直是功能强大的工具库。但很多开发者在使用C#开发界面时&#xff0c;常常会遇到一个尴尬的问题&#xff1a;Halcon自带的图像显示窗口交互体验不够友好。想象一下&#xff0c;当操作…...

vLLM生产环境部署血泪史:10大坑爹问题及保姆级解决方案,助你少走弯路!

本文分享了vLLM在生产环境部署中的实战经验&#xff0c;涵盖GPU显存碎片、延迟雪崩、长文本输入崩溃等10个常见问题&#xff0c;并提供详细的解决方案和优化配置。通过调整参数、优化模型加载和监控策略&#xff0c;有效提升系统性能和稳定性&#xff0c;帮助开发者顺利实现从D…...