网站首页 > 精选文章 正文
在开发后台管理系统时,el-table 是我们最常用的组件之一。然而,在使用 el-table 的多选功能时,一个常见的需求是跨页选择:即当用户切换分页时,之前选择的数据仍然保留。
默认情况下,el-table 的多选只作用于当前页数据,当我们翻页后,之前的选择会被清空。本文将通过两个关键属性(row-key 和 reserve-selection)来实现 Vue3 + Element Plus 中 el-table 的跨页选择功能。
一、准备工作
确保你已经创建了一个基于 Vue3 + Element Plus 的项目。如果没有,可以通过以下命令快速搭建:
二、核心思路与原理
要实现跨页选择,需要理解两个关键属性:
row-key:
指定每行数据的唯一标识字段名(如 id)。
这是表格内部识别不同行数据的基础,尤其在使用树形结构或跨页选择时必须设置。
reserve-selection:
用于开启“保留已选项”功能。
在 <el-table-column type="selection" /> 上设置该属性,即可保留不在当前页的选中状态。
三、完整代码示例
1. 数据准备
假设我们有如下模拟数据结构:
2. 页面组件实现
四、效果说明
当你在第一页勾选若干条记录,切换到第二页时,这些记录依然保留在 selectedRows 中。
如果你想查看所有选中的数据,可以在页面上添加一个按钮来展示:
五、注意事项
务必设置 row-key,否则无法正确识别每一行。
reserve-selection 只适用于 <el-table-column type="selection" />。
如果你需要对选中数据进行持久化处理(如提交服务器),可以监听 selection-change 并保存至响应式变量中。
跨页选择仅保留引用对象,不会影响原始数据源,因此需要自己维护全局选中状态。
猜你喜欢
- 2025-07-21 Vue 前端开发——导入Excel/Csv(vue前端导入excel文件)
- 2025-07-21 element-ui实现动态表头的表格问题汇总
- 2025-07-21 告别频繁登录!Nuxt3 + TS + Vue3实战:双Token无感刷新方案全解析
- 2025-07-21 斯皮尔伯格:流媒体电影没资格拿奥斯卡?
- 2025-07-21 Vue3 “微商城”前台开发文档(vue前端开发工具)
- 2025-07-21 Ant Design of Vue 组件 a-table 如何横向排列
- 2025-07-21 超简 Vue3+Ts 可视化拖拽设计器DreamDesign
- 2025-07-21 基于 Vue.js 磁片栅格布局组件VueGridLayout
- 2025-07-21 vue中的select下拉框多选以及多选数据回显
- 2025-07-21 Vue脚手架使用Element UI(vue脚手架使用视频教程与步骤)
- 最近发表
-
- Vue 前端开发——导入Excel/Csv(vue前端导入excel文件)
- element-ui实现动态表头的表格问题汇总
- 告别频繁登录!Nuxt3 + TS + Vue3实战:双Token无感刷新方案全解析
- 斯皮尔伯格:流媒体电影没资格拿奥斯卡?
- Vue3 “微商城”前台开发文档(vue前端开发工具)
- Ant Design of Vue 组件 a-table 如何横向排列
- 超简 Vue3+Ts 可视化拖拽设计器DreamDesign
- 基于 Vue.js 磁片栅格布局组件VueGridLayout
- vue中的select下拉框多选以及多选数据回显
- Vue脚手架使用Element UI(vue脚手架使用视频教程与步骤)
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)