【发布时间】:2019-04-17 22:00:34
【问题描述】:
所以,我对 Angular 有点陌生,之前从未使用过 Angular-Material。因此,如果解决方案很简单,请放轻松。基本上,我正在尝试使用 Angular-Material 选项卡,在生成的每个选项卡下显示一个不同的表。该表从如下所示的内部数组中的 12 个字典中获取信息。
作为参考,我试图遍历的对象如下所示:
object= [
[ {}x12 ]
[ {}x12 ]]
该对象基本上表示通过第 1 年、第 2 年、第 3 年等的选项卡。x12 对象是该数组的每个月(内部数组的数量可以更改)。
我的 HTML 看起来像:
<mat-tab-group *ngIf="flag">
<mat-tab *ngFor="let res of result" label="Year {{obj[0].year}}">
<table class="table table-striped">
<thead>
<tr>
<th>Head 1</th>
<th>Head 2</th>
<th>Head 3</th>
<th>Head 4</th>
<th>Head 5</th>
<th>Head 6</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let res of result[0]">
<td>{{ res.a }}</td>
<td>{{ res.b | number:'1.2-2' }}</td>
<td>{{ res.c | number:'1.2-2' }}</td>
<td>{{ res.d | number:'1.2-2' }}</td>
<td>{{ res.e | number:'1.2-2' }}</td>
<td>{{ res.f | number:'1.2-2' }}</td>
</tr>
</tbody>
</table>
</mat-tab>
如果有帮助,我更改了标签的名称只是为了更清楚一点。标签部分似乎工作正常,如果有 5 个内部数组,它会从内部字典中获取第 1 年、第 2 年等。每个选项卡都会显示一个表格,但它只显示第一个内部数组 12 个月,这是有道理的,因为我用 ngfor 告诉它。但我似乎无法让数据以任何其他方式显示。
我认为 mat-tab 的 ngFor 必须表现不同,因为它再次从内部数组字典中获取正确的年份。
我尝试使用 Mat-Table 并不能让它按照我想要的方式工作,而且我个人还是喜欢标签的样式。
我愿意接受任何和所有帮助,包括如果有人认为我的对象设计不正确。
谢谢
【问题讨论】:
-
看看这个链接我认为它对你有帮助stackblitz.com/edit/…