我有一个可以通过可变行数显示16列的可涡旋组件,从2到7000+不等。该表使用ngFor和ngSwitch将API中的正确信息呈现到表中。
<p-table [columns]="cols" [value]="requestTableResults" [reorderableColumns]="true"
*ngIf="!loadingRequests && requestTableResults.length !== 0">
<ng-template pTemplate="header" let-columns>
<tr id="requestTableHeader">
<th class="padding-header">
<input type="checkbox" (change)="selectAll($event)" [(ngModel)]="isSelectedAll" />
</th>
<th *ngFor="let col of columns" pReorderableColumn class="padding-header">
{{col.header}}
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-rowData let-columns="columns">
<tr class="stripes">
<td class="padding-data">
<input type="checkbox" [(ngModel)]="rowData.isSelected" (change)="selectOne(rowData.isSelected)" />
</td>
<td *ngFor="let col of columns" [ngSwitch]="col.field" class="padding-data">
<span *ngSwitchCase="'status'">
<div class="badge status-badge">
<span *ngIf="!rowData.overdue || rowData.status !== 'Open'">
{{rowData.status}}
</span>
该表格呈现信息并在Chrome中运行良好,加载时间约为2.5秒。在IE浏览器中虽然爬行至少需要9秒,但有时会导致内存过载,或者会弹出长时间运行的脚本错误。与localhost相比,dev服务器上的性能更好,但仍然是不可接受的。有没有办法改善Turbotable的性能?是否存在使用ngFor,ngSwitch和IE中的可涡轮组件的一些潜在问题?