В настоящее время я пишу свое первое полнофункциональное приложение. Я использую bootstrap <b-table>
для отображения содержимого. На row-click
я разворачиваю строку, чтобы отобразить вложенные данные. Есть ли способ перебрать вложенные данные и отобразить их во вложенных строках в родительской b-таблице?
В настоящее время я могу отображать данные, но они отображаются в одной строке.
component.vue
:
<template>
<div id="report-table" class="report-table">
<b-container>
<b-table striped hover sticky-header="100%"
:items="reports"
:fields="fields"
responsive="xl"
@click="clearRowClick"
@row-clicked="reports=>$set(reports, '_showDetails', !reports._showDetails)"
>
<template slot="row-details" slot-scope="row">
<template v-for="(proc, index) in row.item.Processes">
<b-tr :key=index>
<td>{{ proc.Name }}</td>
<td>{{ proc.Id }}</td>
</b-tr>
</template>
</template>
</b-table>
</b-container>
</div>
</template>
На прикрепленном изображении была нажата нижняя строка. Содержимое отображается в одной строке, но я хотел бы, чтобы это были отдельные строки, поэтому позже я могу щелкнуть по ним, чтобы отобразить еще больше вложенного содержимого.
пример данных:
{"_id": <id>, "Hostname": <hostname>, "Address": <address>, "Processes": [{"Name": ApplicationHost, ...}, {"Name": svchost, ...}]
Если это невозможно, есть ли какой-нибудь другой элемент Bootstrap, который имеет больше смысла для достижения того, что я хочу?