Я хочу создать таблицу, в которой каждый столбец является ответом на вызов API и содержит некоторые элементы. Я пробовал разные подходы к таблице материалов, но, похоже, ничего не работает. Проблема связана с тем, что я пытаюсь построить его на столбцах, а не на строках (в каждом столбце есть разное количество элементов).
Я также пробовал с простой таблицей, и она работает, но тогда представление выглядит не так, как должно. Каждый столбец заключен в <ng-container>
и должен отображаться как новый столбец, но он отображает их в одном столбце. Я также пробовал подход с использованием div, и он отлично работает, но тогда я не могу сделать заголовок таблицы липким и фиксированным при прокрутке вниз. (также не рекомендуется использовать div внутри таблицы) Вот как моя таблица выглядит сейчас, пока что это лучший вариант:
<table class="mat-table">
<ng-container *ngFor="let elem of selectedCheckValues">
<th class="mat-header-cell">{{ elem.name }}</th>
<tr id="{{element}}" *ngFor="let element of elem.items; let idx=index;" (click)="onRowClick(elem, element)">
<td class="mat-cell">{{element}}</td>
</tr>
</ng-container>
</table>
И вот как выглядят мои данные:
export interface SelectedCheckValues {
name: string;
items: string[];
}
Где name должен быть заголовком таблицы, а элементы — элементами из столбца.