思路是根据没有bug的selectedKeys去处理数据:
代码如下:
onChange: (selectedRowKeys, selectedRows) => {
that.selectedRowKeys = Array.from(new Set(selectedRowKeys))
//当前选择行和之前的合并
that.selectedRows = that.selectedRows.concat(selectedRows)
//在这里去重
var result = []
var obj = {}
for (var i = 0; i < that.selectedRows.length; i++) {
//rowKey表格行 key 的取值(唯一,每行不同)
if (!obj[that.selectedRows[i].rowKey]) {
result.push(that.selectedRows[i])
obj[that.selectedRows[i].rowKey] = true
}
}
//根据selectedRowseKeys去选出对应的selectedRows
let rows = []
result.map(v => {
that.selectedRowseKeys.map(m => {
if (m && m == v.rowKey) {
rows.push(v)
}
})
})
that.selectedRows = rows
},