- 已选择
{{selectedRows.length}} 项
-
@@ -39,22 +36,12 @@ export default {
data () {
return {
needTotalList: [],
- selectedRowKeys: [],
scopedSlots: []
}
},
methods: {
updateSelect (selectedRowKeys, selectedRows) {
- this.selectedRowKeys = selectedRowKeys
- let list = this.needTotalList
- this.needTotalList = list.map(item => {
- return {
- ...item,
- total: selectedRows.reduce((sum, val) => {
- return sum + val[item.dataIndex]
- }, 0)
- }
- })
+ this.$emit('update:selectedRows', selectedRows)
this.$emit('change', selectedRowKeys, selectedRows)
},
initTotalList (columns) {
@@ -69,6 +56,10 @@ export default {
getScopedSlots(columns) {
return columns.filter(item => item.scopedSlots && item.scopedSlots.customRender)
.map(item => item.scopedSlots.customRender)
+ },
+ onClear() {
+ this.updateSelect([], [])
+ this.$emit('clear')
}
},
created () {
@@ -76,7 +67,7 @@ export default {
this.needTotalList = this.initTotalList(this.columns)
},
watch: {
- 'selectedRows': function (selectedRows) {
+ selectedRows (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
@@ -86,12 +77,27 @@ export default {
}
})
}
+ },
+ computed: {
+ selectedRowKeys() {
+ return this.selectedRows.map(row => row.key)
+ }
}
}
-
diff --git a/src/pages/list/QueryList.vue b/src/pages/list/QueryList.vue
index bcc8b44..20f48b1 100644
--- a/src/pages/list/QueryList.vue
+++ b/src/pages/list/QueryList.vue
@@ -95,8 +95,8 @@
{{text}}
@@ -110,7 +110,7 @@