feat: add support for scopedSlots in StandardTable.vue; :star2:
新增:StandardTable.vue 组件增加 scopedSlots 的支持;
| | |
| | | :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> |
| | |
| | | data () { |
| | | return { |
| | | needTotalList: [], |
| | | selectedRowKeys: [] |
| | | selectedRowKeys: [], |
| | | scopedSlots: [] |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | } |
| | | }) |
| | | 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: { |
| | |
| | | :dataSource="dataSource" |
| | | :selectedRows="selectedRows" |
| | | @change="onchange" |
| | | /> |
| | | > |
| | | <div slot="description" slot-scope="{text}"> |
| | | {{text}} |
| | | </div> |
| | | <div slot="action" slot-scope="{text, record, index}"> |
| | | <a-icon type="edit" />{{index}} |
| | | </div> |
| | | </standard-table> |
| | | </div> |
| | | </a-card> |
| | | </template> |
| | |
| | | }, |
| | | { |
| | | title: '描述', |
| | | dataIndex: 'description' |
| | | dataIndex: 'description', |
| | | scopedSlots: { customRender: 'description' } |
| | | }, |
| | | { |
| | | title: '服务调用次数', |
| | |
| | | title: '更新时间', |
| | | dataIndex: 'updatedAt', |
| | | sorter: true |
| | | }, |
| | | { |
| | | title: '操作', |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ] |
| | | |