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));
    }
},
相关推荐
追风筝的人er8 分钟前
SpringBoot+Vue3 企业考勤如何处理法定假期?节假日方案、调休补班与工作日判断链路拆解
前端·vue.js·后端
编程老船长3 小时前
解决不同项目需要不同 Node.js 版本的问题
前端·vue.js
薛定猫AI5 小时前
【深度解析】Gemma Chat 本地 AI 编程 Agent:Electron + MLX + 开源模型的离线 Vibe Coding 实战
javascript·人工智能·electron
全栈前端老曹5 小时前
【前端地图】多地图平台适配方案——高德、百度、腾讯、Google Maps SDK 差异对比、封装统一地图接口
前端·javascript·百度·dubbo·wgs84·gcj-02·bd09
笑虾5 小时前
Win10 修改注册表 让鼠标悬停PNG上时 tip 始终显示分辨率
开发语言·javascript·ecmascript
xiaogg36785 小时前
spring oauth2 单点登录
java·vue.js·spring
雾岛听风6915 小时前
JavaScript基础语法速查手册
开发语言·前端·javascript
前端那点事5 小时前
Vue前端SEO优化全攻略(实操落地版,新手也能上手)
前端·vue.js
用户2367829801686 小时前
从零实现 GIF 制作工具:LZW 压缩与 Median Cut 色彩量化
前端·javascript
棉猴6 小时前
Python海龟绘图之绘制文本
javascript·python·html·write·turtle·海龟绘图·输出文本