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

el-table中实现可选表格区域的鼠标事件检测

背景描述

  • vue3+element plus
  • 想要实现el-table中特定区域内的单元格才可点击

代码实现

  • 首先,需要给el-table绑定单元格点击事件
<el-table :data="currTableData"borderstyle="width: 100%;"height="calc(100vh - 400px)"@cell-click="handleCellClick"
>
...
  • 在handleCellClick()方法中,调用鼠标事件检测的方法
// 判断鼠标是否在可选区域内
const isInSelectableArea = event => {const target = event.target// 查找最近的表头元素(th或thead)const headerElement = target.closest('th, thead')// 如果目标元素位于表头中,返回falseif (headerElement) return falseconst headerSelect = document.querySelector('.table-con')if (!headerSelect) return falseconst headerRect = headerSelect.getBoundingClientRect()const isInHeader = event.clientX >= headerRect.left &&event.clientX <= headerRect.right &&event.clientY >= headerRect.top &&event.clientY <= headerRect.bottom;const cell = target.closest('td, th')const columnIndex = cell ? cell.cellIndex : undefined;return isInHeader && columnIndex > 2; // 从第四列开始,这里根据需求修改,我是前三列不准点击
}
  • 注意,这里作为参数的event,来自handleCellClick(row, column, cell, event)

这里方法的逻辑总体还是比较简单的,不过因为属于通用性比较强的方法,所以记录一下。

http://www.lryc.cn/news/465229.html

相关文章:

  • 特种作业操作登高架设作业历年真题附答案
  • schedule-执行周期性任务
  • python图片文件路径排序
  • ARTTrack6/M、ARTTrack5、ART AT7-80横向对比
  • 【Vue】Vue3.0(十三)中标签属性ref(加在普通标签上、加在组件标签上)、局部样式
  • Linux系统基础-文件系统
  • 机器学习和深度学习常用的工具库
  • 【unity小技巧】Unity6 LTS版本安装和一些修改和新功能使用介绍
  • 5种边界填充
  • 鸿蒙网络编程系列7-TLS安全数据传输单向认证示例
  • LangGraph 源码分析 | BaseTool 模板类
  • vulnhub靶场之JOY
  • intel和AMD突然联姻,这操作给我看傻了
  • yolo_face_pose-DataBall 人脸关键点数据集 >> DataBall
  • Unity 山水树木
  • Redis 性能优化选择:Pika 的配置与使用详解
  • 【某农业大学计算机网络实验报告】实验三 IP数据报发送和转发流程
  • Android13 添加运行时权限
  • 官方操刀占用仅6G,Win 11 LTSC详细安装、优化教程来了
  • 【论文精读】RELIEF: Reinforcement Learning Empowered Graph Feature Prompt Tuning
  • 2023-06 GESP C++三级试卷
  • Maven--简略
  • leetcode 刷题day44动态规划Part13( 647. 回文子串、516.最长回文子序列)
  • 华为OD机试真题---关联子串
  • 【OpenAI】第二节(Token)什么是Token?如何计算ChatGPT的Token?
  • GraphRAG + Ollama + Groq 构建知识库 续篇 利用neo4j显示知识库
  • 工业以太网之战:EtherCAT是如何杀出重围的?
  • 轻量级可视化数据分析报表,分组汇总表!
  • 初始Python篇(4)—— 元组、字典
  • C#中正则表达式