vue 插槽的嵌套
插槽只能在根节点,如果封装一个组件a,这个组件里使用到了另一个组件b,组件b中也有插槽。组件a想在插槽中预留b的插槽(如再次封装antdv的table组件,table本身有插槽,此时你想在自己封装的myTable中预留一个插槽用于放入table的插槽)这个时候会报错,提示插槽只能在根节点中。解决方法如下:
bordered
:columns="propData.tableColumns"
:rowKey="(record,index) => { return record.id || index }"
:dataSource="dataSource"
:pagination="pagination"
:loading="loading"
:scopedSlots="{ $scopedSlots }"
@change="handleTableChange">
for="(index, name) in $scopedSlots" v-slot:[name]="text, record">
使用自定义组件,假设表格的columns的一列预留了enable的具名插槽:
switch :checked="text" checked-children="开" un-checked-children="关" @change="changeStatus($event, record)" />