我有一组固定标题“标签”,它们将作为选项卡标题动态填充。然后我有一个对象数组“数据”,它将在每个选项卡中循环以查看它是否匹配,如果匹配,将填充表。请在下面找到我的代码的简单摘要:
<p-tabView (onChange)="onReset()">
<p-tabPanel [header]="tag" *ngFor="let tag of tags">
<p-table #dt [value]="data">
<ng-template pTemplate="header">
<tr>
<th [pSortableColumn]="'Name'">Name
<p-sortIcon [field]="'Name'"></p-sortIcon>
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-col>
<tr>
<td>{{col.Name}}</td>
</tr>
</ng-template>
</p-table>
</p-tabPanel>
</p-tabView>
我的重置功能:
import { Table } from 'primeng/table';
@ViewChild('dt', {static: false}) table: Table ;
onReset() {
this.table.reset();
}
使用 pSortableColumn 和 p-sortIcon 的排序、升序和降序没有问题。
当我切换到其他选项卡并返回时,我想重置表格上的排序。但是,排序仅在第一个选项卡的表上被重置,而不是在后续选项卡上。有没有人有这方面的经验?或者也许指出我可能做错了什么?
问题解决如下:
@ViewChildren(Table) tables: QueryList<Table>;
resetSort() {
this.tables.forEach((table) => {
table.reset();
});
}