vue-ant-design table template模式二次封装 动态slot 不渲染

// v-table
<div class="v-table">
<a-table
          @change="handleTableChange"
          :columns="columns"
          :scopedSlots="$scopedSlots"
          :scroll="{ y: true }"
          :dataSource="datas"
          :loading="loading"
          :pagination="{ total: pagination.totalPages * pagination.offSize, defaultPageSize: pagination.offSize, current: pagination.offSet, pageSize: pagination.offSize, showSizeChanger: true, showQuickJumper: true, pageSizeOptions: $store.state.app.pageSizeOptions }">
</a-table>
</div>

use:

<v-table :columns="columns" :datas="datas" :loading="loading">
      <div slot="state" slot-scope="item"><a-switch checkedChildren="启用" unCheckedChildren="禁用" :loading="item.loading" :checked="item.state" @click="changeState(item)" /></div> //不渲染
  </v-table>

怎样才可以动态传过去又可以渲染自定义column呢?

阅读 815
评论
    2 个回答
      • 7.5k

      看起来你并没有把slot传递到a-table里面去。
      话说这一层封装好像无多大用?

      如果了解了slot会以函数形式暴露在组件的$scopeSlots属性里,那你可以直接通过JS的方式把v-table的slot赋值到a-table

        撰写回答

        登录后参与交流、获取后续更新提醒