我出现问题的前提
在table表格第一页全选 ,第二页全选 回到第一页
点击按钮 取消 第一页,第二页我不要的勾选
初始实现
this.selectedPeraonal是表格 selection-change方法返回的值
javascript
handleSelectionChange(val) {
this.selectedPeraonal = val || []
},
onlineFeedBack(){
const selectedPeraonal = this.selectedPeraonal.filter(item => !errId.includes(item['welfare_id']))
this.$refs['generalTable'].$refs.generalTable.clearSelection()
this.$nextTick(() => {
selectedPeraonal.map(item => {
this.$refs['generalTable'].$refs.generalTable.toggleRowSelection(item,true)
})
this.loadingOnLineFeed = false
})
}
但是 页面未生效
了解到
toggleRowSelection 传入的item必须是当前table表格中的数据才会生效
所以filter 之后就不算当前table的数据了
换个思路
javascript
this.$nextTick(() => {
// toggleRowSelection中传入记录的数据,并不会生效,要传入当前table表格中的数据才会生效
for (let i = this.selectedPeraonal.length - 1; i >= 0; i--) {
const item = this.selectedPeraonal[i]
if (errId.includes(item['welfare_id'])) {
this.$refs['generalTable'].$refs.generalTable.toggleRowSelection(item, false)
}
}
this.loadingOnLineFeed = false
})