news 2026/4/18 6:31:04

【已解决】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/4/10 17:58:46

UI-TARS桌面版终极指南:3步开启AI智能办公新时代

你是否曾幻想过用自然语言就能让电脑自动完成各种繁琐任务&#xff1f;UI-TARS桌面版将这一梦想变为现实。这款基于先进视觉语言模型的智能GUI操作工具&#xff0c;正在彻底重塑我们的工作方式。 【免费下载链接】UI-TARS-desktop A GUI Agent application based on UI-TARS(Vi…

作者头像 李华
网站建设 2026/4/13 14:58:52

Open Images数据集完全攻略:从新手到专家的5步实战指南

Open Images数据集完全攻略&#xff1a;从新手到专家的5步实战指南 【免费下载链接】dataset The Open Images dataset 项目地址: https://gitcode.com/gh_mirrors/dat/dataset Open Images数据集作为Google推出的超大规模计算机视觉资源&#xff0c;为AI开发者提供了海…

作者头像 李华
网站建设 2026/4/18 4:31:55

MCP续证时间节点全梳理,IT老炮儿亲授续证生存法则

第一章&#xff1a;MCP续证时间限制全解析 在微软认证计划&#xff08;Microsoft Certified Professional, MCP&#xff09;体系中&#xff0c;证书并非永久有效&#xff0c;续证时间限制是每位开发者和技术人员必须关注的核心规则。随着技术迭代加速&#xff0c;微软对部分认证…

作者头像 李华
网站建设 2026/4/17 13:29:25

从建模到光影:工业元宇宙中千万级Agent渲染瓶颈,你踩坑了吗?

第一章&#xff1a;工业元宇宙中Agent渲染的技术演进在工业元宇宙的构建过程中&#xff0c;Agent&#xff08;智能代理&#xff09;的可视化渲染技术经历了从静态建模到实时动态交互的重大转变。早期系统依赖预渲染3D模型与固定动画路径&#xff0c;在灵活性和响应性上存在明显…

作者头像 李华
网站建设 2026/4/16 23:40:35

2025年Common Voice语音数据集完整使用指南:从入门到精通

2025年Common Voice语音数据集完整使用指南&#xff1a;从入门到精通 【免费下载链接】cv-dataset Metadata and versioning details for the Common Voice dataset 项目地址: https://gitcode.com/gh_mirrors/cv/cv-dataset Common Voice是由Mozilla主导的全球最大开源…

作者头像 李华
网站建设 2026/4/16 23:10:09

为什么你的ADAS系统总误判?(传感器标定偏差超过2°!)

第一章&#xff1a;自动驾驶传感器 Agent 的校准概述自动驾驶系统的感知能力高度依赖于多传感器的协同工作&#xff0c;包括激光雷达&#xff08;LiDAR&#xff09;、摄像头、毫米波雷达和超声波传感器等。传感器 Agent 作为数据采集与预处理的核心模块&#xff0c;其输出精度直…

作者头像 李华