|
@@ -169,7 +169,7 @@ export default {
|
|
methods: {
|
|
methods: {
|
|
// 选择单元格
|
|
// 选择单元格
|
|
selectedRowChange ({ row, isSelected, selectedRowKeys }) {
|
|
selectedRowChange ({ row, isSelected, selectedRowKeys }) {
|
|
- console.log(isSelected, selectedRowKeys)
|
|
|
|
|
|
+ // console.log(isSelected, selectedRowKeys)
|
|
// 选中
|
|
// 选中
|
|
if (isSelected) {
|
|
if (isSelected) {
|
|
this.selectedRows.push(row)
|
|
this.selectedRows.push(row)
|
|
@@ -183,16 +183,10 @@ export default {
|
|
},
|
|
},
|
|
// 全选或取消本页行
|
|
// 全选或取消本页行
|
|
selectedAllChange ({ isSelected, selectedRowKeys }) {
|
|
selectedAllChange ({ isSelected, selectedRowKeys }) {
|
|
- console.log(isSelected, selectedRowKeys)
|
|
|
|
|
|
+ // console.log(isSelected, selectedRowKeys)
|
|
// 全选
|
|
// 全选
|
|
if (isSelected) {
|
|
if (isSelected) {
|
|
// 合并数组,并去重
|
|
// 合并数组,并去重
|
|
- this.selectedRowKeys = this.selectedRowKeys.concat(selectedRowKeys).reduce((prev, next) => {
|
|
|
|
- if (!prev.find(item => item === next)) {
|
|
|
|
- prev.push(next)
|
|
|
|
- }
|
|
|
|
- return prev
|
|
|
|
- }, [])
|
|
|
|
this.selectedRows = this.selectedRows.concat(this.localDataSource).reduce((prev, next) => {
|
|
this.selectedRows = this.selectedRows.concat(this.localDataSource).reduce((prev, next) => {
|
|
if (!prev.find(item => item[this.rowKeyName] === next[this.rowKeyName])) {
|
|
if (!prev.find(item => item[this.rowKeyName] === next[this.rowKeyName])) {
|
|
prev.push(next)
|
|
prev.push(next)
|
|
@@ -202,15 +196,34 @@ export default {
|
|
} else {
|
|
} else {
|
|
// 取消全选,删除当前页选项
|
|
// 取消全选,删除当前页选项
|
|
const changeRowKeys = this.localDataSource.map(item => item[this.rowKeyName])
|
|
const changeRowKeys = this.localDataSource.map(item => item[this.rowKeyName])
|
|
- this.selectedRowKeys = this.selectedRowKeys.filter(item => !changeRowKeys.includes(item))
|
|
|
|
this.selectedRows = this.selectedRows.filter(item => !changeRowKeys.includes(item[this.rowKeyName]))
|
|
this.selectedRows = this.selectedRows.filter(item => !changeRowKeys.includes(item[this.rowKeyName]))
|
|
}
|
|
}
|
|
|
|
+ this.selectedRowKeys = selectedRowKeys
|
|
this.onRowSelection()
|
|
this.onRowSelection()
|
|
this.$emit('selectAllRowChange', { isSelected, selectedRowKeys })
|
|
this.$emit('selectAllRowChange', { isSelected, selectedRowKeys })
|
|
},
|
|
},
|
|
// 触发已选项事件
|
|
// 触发已选项事件
|
|
onRowSelection () {
|
|
onRowSelection () {
|
|
- this.$emit('rowSelection', { selectedRows: this.selectedRows, selectedRowKeys: this.selectedRowKeys })
|
|
|
|
|
|
+ // console.log(this.selectedRows)
|
|
|
|
+ const selectedRowKeys = this.selectedRows.map(item => item[this.rowKeyName])
|
|
|
|
+ this.$emit('rowSelection', { selectedRows: this.selectedRows, selectedRowKeys: selectedRowKeys })
|
|
|
|
+ },
|
|
|
|
+ // 页码改变的时候设置新页的已选项
|
|
|
|
+ setCheckedRows () {
|
|
|
|
+ const list = this.selectedRows.map(item => item[this.rowKeyName])
|
|
|
|
+ this.selectedRowKeys = this.localDataSource.filter(item => list.includes(item[this.rowKeyName])).map(item => item[this.rowKeyName])
|
|
|
|
+ },
|
|
|
|
+ /**
|
|
|
|
+ * 清空 table 已选中项
|
|
|
|
+ */
|
|
|
|
+ clearSelected () {
|
|
|
|
+ this.selectedRowKeys = []
|
|
|
|
+ this.selectedRows = []
|
|
|
|
+ },
|
|
|
|
+ // 设置 table 已选中项
|
|
|
|
+ setTableSelected (selectedRowKeys) {
|
|
|
|
+ this.selectedRows = selectedRowKeys.map(item => { const obj = {}; obj[this.rowKeyName] = item; return obj })
|
|
|
|
+ this.setCheckedRows()
|
|
},
|
|
},
|
|
// 通过key.key...获取属性值
|
|
// 通过key.key...获取属性值
|
|
getNestedPropertyValue (obj, path) {
|
|
getNestedPropertyValue (obj, path) {
|
|
@@ -323,6 +336,7 @@ export default {
|
|
this.localPagination = false
|
|
this.localPagination = false
|
|
}
|
|
}
|
|
this.localDataSource = list // 返回结果中的数组数据
|
|
this.localDataSource = list // 返回结果中的数组数据
|
|
|
|
+ this.setCheckedRows()
|
|
this.localLoading = false
|
|
this.localLoading = false
|
|
}).catch(err => {
|
|
}).catch(err => {
|
|
this.clearTable()
|
|
this.clearTable()
|
|
@@ -372,20 +386,6 @@ export default {
|
|
this.localPagination = Object.assign({}, {
|
|
this.localPagination = Object.assign({}, {
|
|
current: 1, pageSize: this.localPagination.pageSize, total: 0
|
|
current: 1, pageSize: this.localPagination.pageSize, total: 0
|
|
})
|
|
})
|
|
- },
|
|
|
|
- /**
|
|
|
|
- * 清空 table 已选中项
|
|
|
|
- */
|
|
|
|
- clearSelected () {
|
|
|
|
- if (this.rowSelection) {
|
|
|
|
- this.selectedRowKeys = []
|
|
|
|
- this.onRowSelection()
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- // 设置 table 已选中项
|
|
|
|
- setTableSelected (selectedRowKeys) {
|
|
|
|
- this.selectedRowKeys = selectedRowKeys
|
|
|
|
- this.onRowSelection()
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|