Vue3-ElementPlus el-table后端分页,分页多选功能实现(解决点击下一页后上一页已勾选的数据消失)
本文主要内容为ElementPlus el-table后端分页,分页多选功能实现(解决点击下一页后上一页已勾选的数据消失)主要用到两个重要的属性:row-keyreserve-selection
·
本文主要内容为ElementPlus el-table后端分页,分页多选功能实现(解决点击下一页后上一页已勾选的数据消失;解决表格数据缓存不清空问题)
主要用到两个重要的属性:
row-key
reserve-selection
话不多说,直接上代码:
//首先在el-table中添加这些属性

// el-table 中的:row-key 一般与:reverse-selection 一起使用
function getRowKey(row: any) {
return row.taskID;
}
function handleSelectionChange(val: string | any[]) {
selectedToRelateTaskList = []
for (let i = 0; i < val.length; i++) {
console.log('选中了val是=------- ' , val[i])
selectedToRelateTaskList.push(val[i].taskID)
}
console.log('selectedToRelateTaskList=------- ' ,selectedToRelateTaskList)
}
selectedToRelateTaskList 这个列表表示我们选中的所有数据。
这样即使我们的分页是后端请求的,也可以进行多选展示。
!!!!后续遇到的问题:
选中几项之后提交,再次打开弹窗分页列表。重新选中一项,之前提交的数据也会加入到selectedToRelateTaskList列表里面。
加了判断也不管用。
解决办法:
- router.go(0) 刷新整个页面。
- 清除reverse-selection缓存:(我用的是typeScript,如果用javaScript的小伙伴可以使用this.$refs来拿到变量哈)
a. 定义一个变量
b. 初始化
c. 在使用完之后清除缓存,因为table不会自己清除的!!!!
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)