news 2026/9/12 7:22:00

【已解决】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/9/11 13:29:15

Frigate智能监控终极指南:3步搞定go2rtc流媒体配置

Frigate智能监控终极指南&#xff1a;3步搞定go2rtc流媒体配置 【免费下载链接】frigate NVR with realtime local object detection for IP cameras 项目地址: https://gitcode.com/GitHub_Trending/fr/frigate 还在为监控画面延迟卡顿而烦恼吗&#xff1f;Frigate作为…

作者头像 李华
网站建设 2026/9/12 2:31:00

如何解决AMD显卡驱动臃肿问题

如何解决AMD显卡驱动臃肿问题 【免费下载链接】RadeonSoftwareSlimmer Radeon Software Slimmer is a utility to trim down the bloat with Radeon Software for AMD GPUs on Microsoft Windows. 项目地址: https://gitcode.com/gh_mirrors/ra/RadeonSoftwareSlimmer 你…

作者头像 李华
网站建设 2026/9/11 14:36:19

【Agent互操作性突破】:定义未来AI生态的6大接口规范详解

第一章&#xff1a;跨领域 Agent 互操作性的时代背景随着人工智能技术的快速发展&#xff0c;智能 Agent 已广泛应用于金融、医疗、制造、交通等多个领域。这些 Agent 在各自垂直场景中表现出色&#xff0c;但彼此之间缺乏统一的通信机制与语义理解能力&#xff0c;导致系统孤岛…

作者头像 李华
网站建设 2026/9/10 7:58:17

MCP AI-102模型错误处理全流程(从监控到自动恢复的完整方案)

第一章&#xff1a;MCP AI-102模型错误处理概述在构建和部署基于MCP AI-102模型的人工智能应用时&#xff0c;错误处理是确保系统稳定性与可维护性的关键环节。该模型在推理、训练及数据预处理阶段可能面临多种异常情况&#xff0c;包括输入格式不匹配、资源超限、网络通信中断…

作者头像 李华
网站建设 2026/9/11 19:27:31

OpenModScan:工业自动化必备的免费Modbus主站调试工具完全指南

OpenModScan&#xff1a;工业自动化必备的免费Modbus主站调试工具完全指南 【免费下载链接】OpenModScan Open ModScan is a Free Modbus Master (Client) Utility 项目地址: https://gitcode.com/gh_mirrors/op/OpenModScan OpenModScan是一款功能强大的免费开源Modbus…

作者头像 李华
网站建设 2026/9/11 19:41:20

量子 Agent 的多语言适配实战(API 跨语言调用全解析)

第一章&#xff1a;量子 Agent 的多语言适配概述 在构建全球化人工智能系统时&#xff0c;量子 Agent 的设计必须支持多种自然语言的识别、理解与生成。多语言适配不仅涉及文本编码与翻译机制&#xff0c;还需处理语义歧义、文化差异和语法结构多样性等复杂问题。为实现高效的语…

作者头像 李华