Необходимо создать два компонента - таблицу и её колонку:
<TableCustom :data="data">
<TableCol prop="age" label="Возраст" width="150">
<template #header>
<div>Это заголовок для возраста</div>
</template>
<template #body="scope">
<div>Возраст: {{ scope.row.name }}</div>
</template>
</TableCol>
<TableCol prop="name" label="Имя" width="200">
<template #header>
</template>
<template #body="scope">
<div>имя {{ scope.row.name }}</div>
</template>
</TableCol>
</TableCustom>
Есть таблица, в неё передается, к примеру, data (какой-то массив с данными).
Также передаются 2 колонки. В соответствии со слотами (хедер или дефолт) должна идти отрисовка в хедере/боди:
<TableCol prop="name" label="Имя" width="200">
<template #header>
<div>Имя</div>
</template>
<template #body="{ scope }">
<div>Имя: {{ scope.name }}</div>
</template>
</TableCol>
Проблема заключается в том, что при доставании слотов, в объекте children - есть эти "слоты" с передаваемыми именами. Но как их заставить рисоваться в шаблоне?