feat: add support for scopedSlots in StandardTable.vue; 🌟

新增:StandardTable.vue 组件增加 scopedSlots 的支持;
This commit is contained in:
chenghongxing
2020-07-16 19:46:27 +08:00
parent 687a3adc37
commit e6fb49260d
2 changed files with 24 additions and 3 deletions

View File

@@ -25,6 +25,9 @@
:pagination="pagination"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: updateSelect}"
>
<template slot-scope="text, record, index" :slot="slot" v-for="slot in scopedSlots">
<slot :name="slot" v-bind="{text, record, index}"></slot>
</template>
</a-table>
</div>
</template>
@@ -36,7 +39,8 @@ export default {
data () {
return {
needTotalList: [],
selectedRowKeys: []
selectedRowKeys: [],
scopedSlots: []
}
},
methods: {
@@ -61,9 +65,14 @@ export default {
}
})
return totalList
},
getScopedSlots(columns) {
return columns.filter(item => item.scopedSlots && item.scopedSlots.customRender)
.map(item => item.scopedSlots.customRender)
}
},
created () {
this.scopedSlots = this.getScopedSlots(this.columns)
this.needTotalList = this.initTotalList(this.columns)
},
watch: {