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));
    }
},
相关推荐
星之卡比*12 分钟前
前端知识点---闭包(javascript)
开发语言·前端·javascript
东方芷兰20 分钟前
JavaWeb 课堂笔记 —— 03 Vue
java·前端·javascript·vue.js·笔记
爱的叹息1 小时前
关于 Spring Boot + Vue 前后端开发的打包、测试、监控、预先编译和容器部署 的详细说明,涵盖从开发到生产部署的全流程
vue.js·spring boot·后端
Z编程2 小时前
vue3实现markdown工具栏的点击事件监听
前端·javascript·vue.js
sen_shan2 小时前
Vue3+Vite+TypeScript+Element Plus开发-10.多用户动态加载菜单
vue.js·typescript·vue3·element·element plus·动态菜单·多用户动态加载菜单
日升_rs2 小时前
Electron 开发:获取当前客户端 IP
前端·javascript
kovli2 小时前
红宝书第六讲:作用域链与闭包:厨房里的调味料架原理
前端·javascript
独立开阀者_FwtCoder3 小时前
AI 组件库 ChatUI 3.0 正式发布!阿里再一次领先!
前端·javascript·前端框架
刘同学有点忙3 小时前
TypeScript中如何优雅处理ant-design-vue的a-select的默认空值
vue.js·typescript
不做王多余3 小时前
多个if判断的代码如何优化
前端·javascript