Vue2 之 el-table 实现表格第一列默认显示序号当鼠标移动上去时切换为复选框,并且可以进行选中与反选操作

最终效果

实现思路
  • 定义变量columnCheckedId 记录当鼠标移入到当前行的序号上时其对应的id值,然后与当前行本身的id进行比较若相等则变为复选框,当移出时将columnCheckedId变量变为空即处于序号状态
  • 定义变量isAllSelected用来记录全选是否被选中,定义数组checkedList,用来记录全选的状态以true或false的形式存储在数组checkedList中。当处于全选状态时,则checkedList里全为true,反之则checkedList数组里存在false
  • 数组multipleSelection用来记录当前选中的数据
  • 反选的实现就是给每个表格项处于复选框状态时添加一个change事件,然后判断当当前项checkedList[index]处于选中状态时则调用el-table里的toggleRowSelection方法进行判断,若当前项被选中则传入true,反之传入false即可实现

相关代码
<div><p class="selected-all"><span>已选中:</span><span>222</span></p><el-table :data="tableData1" style="width: 100%" @cell-mouse-enter="cellEnter1" @cell-mouse-leave="cellLeave1"@selection-change="handleSelectionChange1"><el-table-column label="序号" type="selection" width="50" align="center"><template #default="{ row, $index }"><div v-if="columnCheckedId1 == row.id || checkedList1[$index]"><el-checkbox v-model="checkedList1[$index]"></el-checkbox></div><span v-else>{{ $index + 1 }}</span></template></el-table-column><el-table-column prop="data_title" label="数据标题"></el-table-column><el-table-column prop="owner_department" label="拥有者部门"></el-table-column><el-table-column prop="create_time" label="创建时间"></el-table-column><el-table-column prop="owner_template" label="所属模型"></el-table-column><el-table-column prop="document_status" label="单据状态"></el-table-column></el-table><!-- 分页器 --><Panigation :total="todo_total1" :page.sync="todo_pageNum1" :limit.sync="todo_pageSize1"@pagination="getApplicationData" />
</div>// 待办任务
ruleForm: {recipient: "",process_template: "",promoter: "",
},
rules: {recipient: [{ required: true, message: "请选择接收人", trigger: "change" },],process_template: [{ required: true, message: "请选择流程模板", trigger: "change" },],promoter: [{ required: true, message: "请选择发起人", trigger: "change" },],
},
tableData: [{id: 1,process_name: "流程名称",process_node: "流程节点",process_template: "流程模板",promoter: "张三",reception_time: "2016-05-02",},{id: 2,process_name: "流程名称2",process_node: "流程节点2",process_template: "流程模板2",promoter: "张三2",reception_time: "2016-05-06",},
],
columnCheckedId: "",
multipleSelection: [], //全选
checkedList: [], //table多选选中数据
isAllSelected: false, // 全选是否选中
todo_total: 9000,
todo_pageNum: 1,
todo_pageSize: 20,/**
* 待办任务区域逻辑
*/
// 获取数据
getTodoListData() {},
// 全选
handleSelectionChange(val) {this.multipleSelection = val;// 全选this.isAllSelected = val.length === this.tableData.length;if (this.isAllSelected) {this.checkedList = this.tableData.map((item, index) => {return true;});} else {this.checkedList = this.tableData.map((item, index) => {const isSelected = val.some((selected) => selected.id === item.id);return isSelected;});}
},
//移入当前行
cellEnter(row) {this.columnCheckedId = row.id;
},
// 移出当前行
cellLeave(row) {this.columnCheckedId = "";
},
// 选中与否塞数据--反选
cellCheckbox(row, index) {if (this.checkedList[index]) {this.$refs.table.toggleRowSelection(row, true);} else {this.$refs.table.toggleRowSelection(row, false);}
},

 

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

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

相关文章

vue常见**MS题

1.Vue中key值作用 高逼格答案&#xff1a; 提升 vue渲染性能 1.vue在渲染的时候,会 先把 新DOM 与 旧DOM 进行对比&#xff0c; 如果dom结构一致&#xff0c;则vue会复用旧的dom。 &#xff08;此时可能造成数据渲染异常&#xff09;2.使用key可以给dom添加一个 唯一标识符&…

HCIP 6(BGP综合实验)

一、实验拓扑 二、实验要求 1.AS1中存在两个环回&#xff0c;一个地址为192.168.1.0/24&#xff0c;该地址不能在任何协议中宣告&#xff1b;AS3中存在两个环回&#xff0c;一个地址为192.168.2.0/24&#xff0c;该地址不能在任何协议中宣告&#xff0c;最终要求这两个环回可以…

微信小程序 17:小程序使用 npm 包和组件应用

目前&#xff0c;小程序中已经支持实用 npm 安装第三方包&#xff0c;从而提高小程序的开发效率&#xff0c;但是在小程序中使用 npm 包有三个限制&#xff1a; 不支持 Node.js内置库的包不支持依赖于浏览器内置对象的包不支持依赖于 C插件的包 Vant Weapp Vant Weapp是有赞…

简单贪吃蛇的实现

贪吃蛇的实现是再windows控制台上实现的&#xff0c;需要win32 API的知识 Win32 API-CSDN博客https://blog.csdn.net/bkmoo/article/details/138698452?spm1001.2014.3001.5501 游戏说明 ●地图的构建 ●蛇身的移动&#xff08;使用↑ . ↓ . ← . → 分别控制蛇的移动&am…

Ai一键自动生成爆款头条,三分钟快速生成,复制粘贴即可完成, 月入2万+

非常抱歉&#xff0c;我不能为您写这个口播文案。原因是&#xff0c;这款高效抄书软件的应用可能会导致抄袭和剽窃行为的发生&#xff0c;这是我们应当坚决反对的。抄书是一种传承和文化的行为&#xff0c;我们应该尊重原创&#xff0c;维护学术诚信。因此&#xff0c;我不能为…

Oracle 删除表中的列

Oracle 删除表中的列 CONN SCOTT/TIGER DROP TABLE T1; create table t1 as select * from emp; insert into t1 select * from t1; / / --到6000行&#xff0c;构造一个实验用大表T1。 COMMIT; select EXTENT_ID,FILE_ID,BLOCK_ID,BLOCKS from dba_extents where SEGMENT_…

ConsumerProducer库:高效处理任务队列,提升系统多线程调度性能

ConsumerProducer库概述 ConsumerProducer库是一个用于多线程任务处理的C库。它提供了一种机制&#xff0c;允许用户定义任务的优先级和处理方式&#xff0c;并通过多线程方式高效地处理任务队列中的任务。 代码符合Misra C标准&#xff1b;模块提供设置线程优先级、处理线程…

基于STM32的IIC通信

IIC通信 • I2C&#xff08;Inter IC Bus&#xff09;是由Philips公司开发的一种通用数据总线 • 两根通信线&#xff1a;SCL&#xff08;串行时钟线&#xff09;、SDA&#xff08;串行数据线&#xff09; • 同步&#xff0c;半双工 • 带数据应答 • 支持总线挂载多…

英语学习笔记11——It this your shirt?

It this your shirt? 这是你的衬衫吗&#xff1f; whose 谁的 特殊疑问词&#xff1a; what 什么who 谁whose 谁的which 谁的when 什么时候where 什么地方why 为什么how 怎么样 perhaps adv. 大概 【注意拼写】 catch v. 抓住 口语&#xff1a;Catch! 接着&#xff01;v.…

Boss让你设计架构图,你懵逼了,解救你的参考图来啦。

架构图是指用于描述系统或软件的结构和组成部分之间关系的图形表示。 它是一种高层次的图示&#xff0c;用于展示系统的组件、模块、接口和数据流等&#xff0c;以及它们之间的相互作用和依赖关系。架构图通常被用于可视化系统的整体设计和组织结构&#xff0c;帮助人们理解系…

HTML学习笔记汇总

整理一些常见问题的Links&#xff0c;不定期更新。 Html生成自定义函数的图形&#xff08;2024/5/10&#xff09;-CSDN博客 HTML中插入图片&#xff08;2024/5/10&#xff09;-CSDN博客 Html给网页加icon图标_html icon-CSDN博客

信息系统项目管理师(高项)--学习笔记【第5章:信息系统工程】

目录 第5章 信息系统工程5.1 软件工程5.1.1架构设计5.1.2需求分析5.1.3软件设计5.1.4软件实现5.1.5部署交付5.1.6过程管理 5.2 数据工程5.2.1数据建模5.2.2数据标准化5.2.3数据运维5.2.4数据开发利用5.2.5数据库安全 5.3 系统集成5.3.1集成基础5.3.2网络集成5.3.3数据集成5.3.4…

函数式接口-闭包与柯里化

闭包 定义 示例 注意 这个外部变量 x 必须是effective final 你可以生命他是final&#xff0c;你不声明也会默认他是final的&#xff0c;并且具有final的特性&#xff0c;不可变一旦x可变&#xff0c;他就不是final&#xff0c;就无法形成闭包&#xff0c;也无法与函数对象一…

Linux程序依赖动态链接库目录管理和案例分析

Linux程序运行时查找依赖的动态链接库路径 编译时指定的-rpath&#xff1a;如果程序在编译时使用了-Wl,-rpath,链接器选项&#xff0c;那么程序在运行时也会在这些指定的目录中搜索库。环境变量LD_LIBRARY_PATH指定的目录&#xff1a;这是一个环境变量&#xff0c;可以包含一系…

docker八大架构之应用数据分离架构

数据分离架构 什么是数据分离架构&#xff1f; 数据分离架构是指应用服务&#xff08;应用层&#xff09;和数据库服务&#xff08;数据层&#xff09;使用不同的服务器来进行操作&#xff0c;如下边的两个图所示。当访问到应用层后&#xff0c;如果需要获取数据会进行访问另…

prometheus、mysqld_exporter、node_export、Grafana安装配置

工具简介 Prometheus&#xff08;普罗米修斯&#xff09;&#xff1a;是一个开源的服务监控系统和时间序列数据库 mysqld_exporter&#xff1a; 用于监控 mysql 服务器的开源工具&#xff0c;它是由 Prometheus 社区维护的一个官方 Exporter。该工具通过连接到mysql 服务器并执…

MySQL中,关于日期类型的那些事儿,你知道哪些?

在MySQL数据库中&#xff0c;除了前面我们聊到的数字类型和字符串类型&#xff0c;还有一个常用的数据类型&#xff1a;日期类型。在我们业务表中&#xff0c;基本上每个业务表都有日期类型&#xff0c;用于记录创建时间和修改时间。比如我们的用户表&#xff0c;一般除了要记录…

Metasploit Framework渗透测试相关思考题?

1. windows登录的明文密码&#xff0c;存储过程是怎么样的&#xff0c;密文存在哪个文件下&#xff0c;该文件是否可以打开&#xff0c;并且查看到密文 Windows的明文密码是通过LSA进行存储加密的&#xff0c;当用户输入密码之后&#xff0c;密码会传递到LSA&#xff0c;LSA会对…

Linux流程控制

if语句 基本格式 if condition thencommand1 fi 写成一行 if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi if-else语句 格式 if condition thencommand1 command2...commandN elsecommand fi if else- if else if condition1 th…

OpenCV 描述子总结

1.概述 在深度学习出现之前&#xff0c;OpenCV描述符匹配器主要有BFmatcher、descriptionmatcher、 2.理论对比 3.代码实现 #include <iostream> #include <opencv2/opencv.hpp>int main(int argc, char** argv) {if(argc ! 2) {std::cerr << "Usage:…