基于elementUI的el-table组件实现按住某一行数据上下滑动选中/选择或取消选中/选择鼠标经过的行

 

实现代码 

<template><div :class="$options.name"><el-tablestyle="user-select: none"ref="table":data="tableData":row-class-name="row_class_name"@mousedown.native="mousedownTable"@row-click="row_click"@cell-mouse-enter="cell_mouse_enter"@cell-mouse-leave="cell_mouse_leave"@mouseup.native="mouseupTable"@mouseleave.native="mouseupTable"@selection-change="selection_change"><el-table-column type="selection" width="50" :selectable="selectable" /><el-table-column type="index" label="序号" width="60" /><el-table-column prop="ID" label="ID" /><el-table-column prop="username" label="用户名" /></el-table></div>
</template>
<script>
export default {name: "sgBody",components: {},data() {return {isMousedownTable: false, //是否按下表格currentEnterRow: null, //当前移入的行数据tableData: [{ ID: "330110198704103091", username: "username1" },{ ID: "330110198704103092", username: "username2" },{ ID: "330110198704103093", username: "username3" },{ ID: "330110198704103094", username: "username4", disabled: true },{ ID: "330110198704103095", username: "username5" },{ ID: "330110198704103096", username: "username6" },{ ID: "330110198704103097", username: "username7" },{ ID: "330110198704103098", username: "username8" },],selection: [], //表格选中项数组};},methods: {// 屏蔽复选框selectable(row) {return !row.disabled;},// 表格按下mousedownTable(d) {this.currentEnterRow &&!this.currentEnterRow.disabled &&this.$refs.table.toggleRowSelection(this.currentEnterRow);this.isMousedownTable = true;},// 单击表格行row_click(row, column, event) {this.currentEnterRow || (!row.disabled && this.$refs.table.toggleRowSelection(row));},// 进入单元格cell_mouse_enter(row, column, cell, event) {this.isMousedownTable && !row.disabled && this.$refs.table.toggleRowSelection(row);this.currentEnterRow = row;},// 离开单元格cell_mouse_leave(row, column, cell, event) {this.currentEnterRow = null;},// 鼠标弹起或者离开表格mouseupTable(d) {this.isMousedownTable = false;},// 表格选中项发生改变selection_change(selection) {this.selection = selection;},// 表格每行样式row_class_name({ row, rowIndex }) {if (row.disabled) return "disabled";return this.selection.find((v) => v.ID == row.ID) ? "selected" : "";},},
};
</script>
<style lang="scss" scoped>
.sgBody {>>> .el-table {$bgColor: #409eff11;tr {// 高亮选中行&:hover,&.selected {td {background-color: $bgColor !important;}}// 禁用行&.disabled {$bgColor: #eee;td {background-color: $bgColor !important;}}}}
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/623642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[力扣 Hot100]Day5 盛最多水的容器

题目描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xff1a;你不能倾斜容…

2、BERT:自然语言处理的变革者

请参考之前写的&#xff1a;2、什么是BERT&#xff1f;-CSDN博客文章浏览阅读826次&#xff0c;点赞19次&#xff0c;收藏22次。BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;是Google在2018年提出的一种自然语言处理&#xff08;NLP&…

基于STM32F103和OLED的智能饮水机系统设计

标题&#xff1a;基于STM32F103和OLED的智能饮水机系统设计 摘要&#xff1a; 随着人们健康意识的提高&#xff0c;智能饮水机成为了现代生活中不可或缺的设备之一。本论文旨在设计并实现一种基于STM32F103和OLED的智能饮水机系统&#xff0c;该系统能够监测和管理饮水机的状态…

Spring Boot整理-Spring Boot是什么?

Spring Boot 是一个开源的 Java 基础框架,它旨在简化基于 Spring 的应用开发。其核心特点在于“约定优于配置”的设计哲学,意味着它提供了一系列默认配置,从而帮助开发者更快地启动和运行新的 Spring 应用。Spring Boot 的主要特点包括: 自动配置:Spring Boot 可以根据项目…

linux安装QQ(官方正版)

QQ官网上有支持linux系统的版本&#xff0c;所以去官网直接下载正版就好。 安装步骤&#xff1a; 1.进入官网&#xff1a;https://im.qq.com/linuxqq/index.shtml 2.选择版本&#xff1a;X86版下载dep 如下所示&#xff1a; 3.下载qq安装包&#xff1a; 4.使用命令安装qq s…

MySQL substring_index 分割字符串

row1&#xff1a; abcsev.com.cn; 123seeco.com; efsevloal.com; dddseobal.com row2&#xff1a; AAAAse23vloal.com; BBBBseo234bal.com 把同一個Column的字符串&#xff0c;通過分隔符分割后逐行插入數據庫。 substring_index 定位是位置的左边&#xff0c;或者右边。而不能…

Android 事件分发机制详解(下)

2.3 View事件分发机制 从上面 ViewGroup 事件分发机制知道&#xff0c;View事件分发机制从 dispatchTouchEvent() 开始 源码分析 /*** 源码分析&#xff1a;View.dispatchTouchEvent&#xff08;&#xff09;*/public boolean dispatchTouchEvent(MotionEvent event) { if …

系列四十八、通用pom

一、通用pom 1.1、基于maven构建聚合项目的父pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation…

国科大-自然语言处理复习

自然语言处理复习 实体关系联合抽取流水线式端到端方法 检索式问答系统流水线方式信息检索&#xff08;IR&#xff09;阶段阅读理解&#xff08;RC&#xff09;阶段基于证据强度的重排基于证据覆盖的重排结合不同类型的聚合 端到端方式Retriever-Reader的联合学习基于预训练的R…

用Scala采集出行平台机票价格信息

年关将至&#xff0c;趁着过年&#xff0c;打算拖家带口的出去游玩一番&#xff0c;目前也没有什么计划&#xff0c;去哪里玩也比较随机。正好年底公司项目都已经完成差不多&#xff0c;利用空余时间&#xff0c;用爬虫爬取各大景点飞机票价格信息&#xff0c;选择景点不错机票…

【XR806开发板试用】单总线协议驱动DHT11温湿度传感器

1.昨天刚收到极速社区寄来的全志XR806开发板&#xff0c;之前用过很多全志的SOC芯片&#xff0c;但是像这种无线芯片还是第一次用。这次打算使用XR806芯片驱动一下DHT11温湿度传感器。 2.代码如下&#xff1a; #include "common/framework/platform_init.h" #inclu…

鸿蒙Harmony--AppStorage--应用全局的UI状态存储详解

无所求必满载而归&#xff0c;当你降低期待&#xff0c;降低欲望&#xff0c;往往会得到比较好的结果&#xff0c;把行动交给现在&#xff0c;用心甘情愿的态度&#xff0c;过随遇而安的生活&#xff0c;无论结果如何&#xff0c;都是一场惊喜的获得! 目录 一&#xff0c;定义 …

文献阅读:Large Language Models as Optimizers

文献阅读&#xff1a;Large Language Models as Optimizers 1. 文章简介2. 方法介绍 1. OPRO框架说明2. Demo验证 1. 线性回归问题2. 旅行推销员问题&#xff08;TSP问题&#xff09; 3. Prompt Optimizer 3. 实验考察 & 结论 1. 实验设置2. 基础实验结果 1. GSM8K2. BBH3.…

多测师肖sir___ui自动化测试po框架讲解版

po框架 一、ui自动化po框架介绍 &#xff08;1&#xff09;PO是Page Object的缩写&#xff08;pom模型&#xff09; &#xff08;2&#xff09;业务流程与页面元素操作分离的模式&#xff0c;可以简单理解为每个页面下面都有一个配置class&#xff0c; 配置class就用来维护页面…

如何用GPT/GPT4进行AI绘图?

详情点击链接&#xff1a;如何用GPT/GPT4进行AI绘图&#xff1f; 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析&#xff0c;AI画图&#xff0c;图像识别&#xff0c;文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Claude2二定制自…

QT笔记 - 添加项目到版本控制系统 - Git

说明 Git可以在很小的磁盘占用下保存当前项目的多个不同版本&#xff0c;且极为方便切换到任意版本。这对Qt项目非常实用。下面介绍如何为项目添加Git版本控制系统。 下载Git 操作系统若没有安装Git&#xff0c;需要安装。 下载​​​​​​​ 创建项目时添加项目到Git 安…

前端秋本名学习笔记

css-html 浏览器&#xff1a;FireFox、Safari苹果、Chrome谷歌、IE W3C制定html规则、OpenSSL加密、html超文本标记语言 IDE&#xff1a;HhuilderX、vscode !DOCTYPE html文档声明、html(lang”zh-CN”)、head、body、meta元信息、title标签名、base(target)、link(rel类型、hr…

HCIA的网络地址转换NAT

NAT&#xff1a;网络地址转换 功能&#xff1a; 1.将大量的私有地址转换成公有地址&#xff08;节约IP地址&#xff09; 2.将一个IP地址转换成另一个IP地址&#xff08;公有的&#xff09;&#xff08;增加内部网络设备的安全性&#xff09;&#xff1a;比如有一个内网&#xf…

SVN账户管理

1.新增用户 sudo htpasswd -c /etc/svn-auth-users test002 2.删除用户 sudo htpasswd -D /etc/svn-auth-users test002 3.修改密码 sudo htpasswd -d /etc/svn-auth-users test002

(1)(1.13) SiK无线电高级配置(七)

文章目录 前言 17 技术细节 18 名词解释 前言 本文提供 SiK 遥测无线电(SiK Telemetry Radio)的高级配置信息。它面向"高级用户"和希望更好地了解无线电如何运行的用户。 17 技术细节 在评估该无线电是否符合当地法规时&#xff0c;了解其使用的技术可能会有所帮…