vue2 el-table实现跨页多选功能

1、首先要在el-table上绑定勾选框和全选框的事件

html 复制代码
<el-table :data="tableData" class="table_box" ref="multipleTables" style="width: 100%" height="50vh" @select="addAnalysisChange" @select-all="selectAll">
	<el-table-column type="selection" width="55"></el-table-column>
	<el-table-column prop="name" label="名称" show-overflow-tooltip>
	</el-table-column>
	<el-table-column prop="orgcode" label="机构代码" show-overflow-tooltip>
	</el-table-column>
	...
</el-table>

2、在data里声明一个数组 用来存放勾选的项 allSelected

3、开始编写js啦

javascript 复制代码
// 单独勾选
addAnalysisChange(selection,row) {
    if (!this.allSelected.includes(row.id)) {
        this.allSelected.push(row.id);
    } else {
        // 取消勾选就删掉
        this.allSelected.forEach((id, index) => {
		    if (id === row.id) {
		        this.allSelected.splice(index, 1);
		    }
	    });
    }
},
selectAll(selecteds) {
    if (selecteds.length > 0) {
        // 如果全选 push进去
	    selecteds.forEach(item => {
	    if (!this.allSelected.includes(item.id)) {
	        this.allSelected.push(item.id);
	    }
    });
} else {
    // 如果取消全选 就将此页表格的id 过滤掉
    const currentPageIds = this.tableData.map(item => item.id);
    this.allSelected= this.allSelected.filter(id =>!currentPageIds.includes(id));
    }
},
相关推荐
小道士写程序19 小时前
海洋模拟项目源码解析
javascript
Highcharts.js19 小时前
Highcharts 使用指南Treegraph chart 树状图/结构树图|创建谱系图表、决策树、结构知识树等的图表工具
javascript·决策树·highcharts·图表开发·结构树·可视化图表库·谱系图表
局i19 小时前
React 简单地图组件封装:基于高德地图 API 的实践(附源码)
前端·javascript·react.js
进击的尘埃20 小时前
Service Worker + stale-while-revalidate:让页面"假装"秒开的正经方案
javascript
yuki_uix20 小时前
防抖(Debounce):从用户体验到手写实现
前端·javascript
wjj不想说话20 小时前
在 Vue 2.6 微前端架构中,我们为什么放弃了 Vuex 管理页面状态?
vue.js
张元清20 小时前
每个 React 开发者都需要的 10 个浏览器 API Hooks
前端·javascript·面试
进击的尘埃20 小时前
给 Claude Code 造个趁手的 MCP Tool Server,聊聊我踩的那些坑
javascript
yuki_uix20 小时前
深拷贝:JavaScript 引用类型的完全复制之道
前端·javascript
默默学前端20 小时前
JavaScript 中 call、apply、bind 的区别
开发语言·前端·javascript