feat: CustomTable增加多选功能

This commit is contained in:
Xu Zhimeng 2023-07-05 16:00:43 +08:00
parent 3cfc33d2c0
commit d98f7e1dd0

View File

@ -50,6 +50,10 @@ export default {
canSelect: {
type: Boolean,
default: true
},
multiple: {
type: Boolean,
default: false
}
},
data() {
@ -60,17 +64,24 @@ export default {
methods: {
// /
customRow(record) {
const key = record[this.rowKey]
return {
class: this.innerSelectedRowKeys.includes(record[this.rowKey]) ? 'ant-table-row-selected' : '',
class: this.innerSelectedRowKeys.includes(key) ? 'ant-table-row-selected' : '',
on: {
click: () => {
if(!this.canSelect) {
return
}
if (this.innerSelectedRowKeys.includes(record[this.rowKey])) {
this.innerSelectedRowKeys = []
if (this.innerSelectedRowKeys.includes(key)) {
const findIndex = this.innerSelectedRowKeys.findIndex(k => k == key)
this.innerSelectedRowKeys.splice(findIndex, 1)
} else {
this.innerSelectedRowKeys = [record[this.rowKey]]
if(this.multiple) {
this.innerSelectedRowKeys.push(key)
}
else {
this.innerSelectedRowKeys = [key]
}
}
this.$emit('update:selectedRowKeys', this.innerSelectedRowKeys)
}