vue3:使用:批量删除功能

场景:vue中使用el-table,常需要记住上一页所勾选的数据,批量删除操作,或者弹窗分页勾选,进行第一页勾选,在调后端接口选择第二页勾选其他数据。

1、element-ui 的table表格可以轻松实现多选的功能,只要在表格列中增加type="selection"的一列即可。

2、保存勾选值,分页记录,添加 :reserve-selection="true"

大部分情况下,表格的数据是有分页的,分页一般是要请求后台接口,这样上一页也就是上一次请求的数据的选中状态就没有了。element-ui提供了reserve-selection,可以保存数据更新前选中的值,仅对 type=selection 的列有效,类型为 Boolean,为 true 则会在数据更新之后保留之前选中的数据(需指定 row-key)。

javascript 复制代码
<el-table 
    v-loading="loading" 
    ref="multipleTableRef" 
    :data="tableList" 
    @selection-change="handleSelectionChange" // 多选事件
    :row-key="getRowKeys"
>
    <el-table-column type="selection" :reserve-selection="true" width="55" fixed='left' />
</el-table>

<script setup name="serviceLeader">
const multipleTableRef = ref();
const multipleSelection = ref([]) // 多选的数据
// 多选
const handleSelectionChange = (val) => {
    console.log('多选', val)
    multipleSelection.value = val
}
// 
const getRowKeys = (row) => {
    return row.id
}
</script>
相关推荐
Damai11 分钟前
DOMPurify 完整介绍
前端·面试
随风一样自由13 分钟前
【前端+跨域】跨域问题全面解析与解决方案指南
前端·跨域
小帅不太帅26 分钟前
我随手发了几张截图,白拿了一个月 AI 顶配会员
前端·github
36岁的我开始学习打篮球27 分钟前
外规内化技术架构
前端
雪隐44 分钟前
用Flutter做背单词APP-03为了给单词库塞满数据,我让AI给我打了上万份工
前端·人工智能·后端
hunterandroid44 分钟前
Android 安全最佳实践:从数据存储到网络通信的防护思路
前端
H Journey1 小时前
web开发学习:html、css、js
前端·css·html·js
hunterandroid1 小时前
Compose 性能优化:从卡顿到丝滑的实战经验
前端
hunterandroid1 小时前
Kotlin Coroutines 在 Android 项目中的落地实战
前端
不一样的少年_1 小时前
不用框架,手搓 AI Agent:(一) 先让它跑起来
前端·后端·agent