gpt4 book ai didi

angular - Mat表与ngFor和排序

转载 作者:行者123 更新时间:2023-12-03 15:49:41 24 4
gpt4 key购买 nike

我在ngfor上使用了 Accordion ,当您单击面板上的表格时。
在Mat排序旁边,一切都按预期工作,它只对第一个表进行排序。
我读到我需要在每个表中放入模板引用变量,但是我该如何动态地执行它呢?或有其他方法可以实现这一目标。
这是我的代码:

  <mat-accordion style="width: 80%">
<mat-expansion-panel *ngFor="let customer of customers; let i = index" (opened)="openPanel(customer);">
<mat-expansion-panel-header>
<mat-panel-title>
{{customer.name}}
</mat-panel-title>
<mat-panel-description>
<span style="text-align:center">{{" Active Calls: " + customer.active}}</span>
<span style="margin-left: 100px;">{{" Talking Calls: " + customer.talking}}</span>
</mat-panel-description>
</mat-expansion-panel-header>
<table #HERE-I-NEED-TO-PUT-DYNMIC-ID mat-table [dataSource]="dataSource" matSort class="mat-elevation-z8">
<ng-container *ngFor="let column of tableColumns;" matColumnDef="{{column.field}}">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{column.name}} </th>
<td mat-cell *matCellDef="let element">
<span *ngIf="column.field !== 'answered'"> {{element[column.field]}} </span>
<span *ngIf="column.field === 'answered' && element[column.field] > 0">{{getTime(element[column.field] * 1000) | date: 'HH:mm:ss'}}</span>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
</mat-expansion-panel>

谢谢。

最佳答案

我通过使用方括号解决了这个问题。
代码如下。

    <ng-container *ngFor="let col of cols" [matColumnDef]="col">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{ col }} </th>
<td mat-cell *matCellDef="let element"> {{ element[col] }} </td>
</ng-container>

关于angular - Mat表与ngFor和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51346447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com