news 2026/8/22 0:08:11

【已解决】el-table 前端分页多选、跨页全选等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【已解决】el-table 前端分页多选、跨页全选等

由于element-ui的自定义header一直不生效(当type未selection时slot / rende-header 都不生效),所以还是使用element-ui原生API去做。

示例

代码

el-tablerow-key属性是必要的。

<template><div><el-tableref="table":data="tableDataFilter"style="width:100%"row-key="id"height="500"@select="handleSelect"@select-all="handleSelectAll"><el-table-columntype="selection"width="55"></el-table-column><el-table-columntype="index"width="50"label="序号"/><el-table-columnprop="name"label="姓名"width="120"/><el-table-columnprop="age"label="年龄"width="80"sortable/><el-table-columnprop="email"label="邮箱"min-width="180"/><el-table-columnprop="city"label="城市"width="100"/><el-table-columnprop="occupation"label="职业"width="150"/><el-table-columnprop="joinDate"label="加入日期"width="120"/></el-table><el-pagination:current-page.sync="currentPage":page-sizes="[10, 20, 50]":page-size.sync="pageSize"layout="total, sizes, prev, pager, next, jumper":total="total"@size-change="handleSizeChange"@current-change="handleCurrentChange"></el-pagination></div></template><script>exportdefault{data(){return{// 存放完整数据tableData:[],multipleSelection:[],currentPage:1,pageSize:10,/* 选择Set 是因为在这个场景使用起来比较方便,也能优化些许性能。 如果需要使用watch来监听selectedIds 的变化,可以改用为数组。 如改用数组 select等方法中的判断就需要相对繁琐。 或是对Set 进行包装。 */selectedIds:newSet(),isSelectAll:false};},computed:{total(){returnthis.tableData.length},// 前端分页tableDataFilter(){consts=(this.currentPage-1)*this.pageSize,e=s+this.pageSizereturnthis.tableData.slice(s,e)}},// 默认全选;如果有需要;此代码可以放在接口调用数据赋值后asyncmounted(){awaitthis.$nextTick()this.handleSelectAll()},methods:{// 当勾选状态改变做后续的逻辑处理change(){// 已选中列表constselectList=this.tableData.filter(x=>this.selectedIds.has(x.id))// do something...},// 勾选/取消单行handleSelect(selection,row){if(this.selectedIds.has(row.id)){this.selectedIds.delete(row.id)}else{this.selectedIds.add(row.id)}this.checkStatus()// 因为 Set 数据结构 不能够被Vue所监听到// 所以在每次修改选中状态之后手动调用一次callbackthis.change()},checkStatus(){this.isSelectAll=this.selectedIds.size===this.total},// 全选事件handleSelectAll(){// 当前是全选状态 -> 全部取消if(this.isSelectAll){this.selectedIds.clear()this.$refs.table?.clearSelection?.()}else{this.tableData.forEach(x=>{this.selectedIds.add(x.id)// ?. 在每次调用接口会清楚选中状态;防止在created中调用接口时table dom还未挂载。this.$refs.table?.toggleRowSelection?.(x,true)})}this.checkStatus()this.change()},handleSizeChange(){this.setSelection()},handleCurrentChange(){this.setSelection()},// 分页切换 -> 处理当前页面勾选状态asyncsetSelection(){awaitthis.$nextTick()consttableRef=this.$refs.tableif(!tableRef)returnthis.tableData.forEach(x=>{tableRef.toggleRowSelection(x,this.selectedIds.has(x.id))})},},};</script>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 9:53:17

Dify大模型平台版本回退实战:从v1.11.1安全降级到v1.10.x!

简介 本文详细介绍了Dify大模型平台版本回退的完整流程&#xff0c;涵盖风险警示&#xff08;数据不可逆损伤、功能断崖式降级&#xff09;、必备防护措施&#xff08;数据库备份、环境快照、依赖检查&#xff09;、Docker与源码部署差异化操作、特定版本适配指南及故障排查方法…

作者头像 李华
网站建设 2026/8/21 15:07:30

大模型PPO算法核心机制解析:clip操作的原理与作用!

简介 文章详细解析了PPO算法中clip机制的工作原理和作用。在Actor Model中&#xff0c;clip通过设置上界(1ε)和下界(1-ε)控制哪些动作概率需要更新&#xff0c;避免对表现好的动作概率过度优化&#xff1b;在Critic Model中&#xff0c;clip和max操作剔除掉更接近return的ne…

作者头像 李华
网站建设 2026/8/18 16:06:16

5分钟成为Windows系统优化大师:Hourglass计时器全功能实战指南

5分钟成为Windows系统优化大师&#xff1a;Hourglass计时器全功能实战指南 【免费下载链接】hourglass The simple countdown timer for Windows. 项目地址: https://gitcode.com/gh_mirrors/ho/hourglass 还在为Windows系统缺少实用的计时功能而烦恼吗&#xff1f;会议…

作者头像 李华
网站建设 2026/8/20 19:42:22

iStoreOS系统极致性能调优:从基础到进阶的深度指南

iStoreOS系统极致性能调优&#xff1a;从基础到进阶的深度指南 【免费下载链接】istoreos 提供一个人人会用的的路由、NAS系统 &#xff08;目前活跃的分支是 istoreos-22.03&#xff09; 项目地址: https://gitcode.com/gh_mirrors/is/istoreos iStoreOS作为一个基于Op…

作者头像 李华
网站建设 2026/8/21 22:18:06

【AI Agent部署终极指南】:从零到上线的全流程实战解析

第一章&#xff1a;AI Agent部署的核心概念与演进趋势AI Agent 的部署已从早期的单体式推理服务&#xff0c;逐步演进为具备自主决策、环境感知和持续学习能力的分布式智能系统。现代 AI Agent 不仅依赖于强大的模型能力&#xff0c;更强调在真实业务场景中的可扩展性、实时响应…

作者头像 李华