Используйте слот
expanded-item
:
<v-data-table
:headers="mainTableHeaders"
:items="mainTableItems"
item-key="mainTableItemKey"
show-expand
>
<template #expanded-item="{ headers, item }">
<td :colspan="headers.length">
<v-data-table
:headers="nestedTableHeaders"
:items="item.nestedTableItems"
></v-data-table>
</td>
</template>
</v-data-table>
https://jsfiddle.net/krg8ac7s/
UPD. Как-то пропустил:
при клике на строчку
Убираем
show-expand
, добавляем обработчик клика, где отображение дополнительного контента будет переключаться вручную:
methods: {
onRowClick(item, row) {
row.expand(!row.isExpanded);
},
...
<v-data-table
@click:row="onRowClick"
...