teradata-covalent 数据 Table 滚动和页面上的重新渲染数据运行缓慢 angular 2+
teradata-covalent Data Table rerender data on scroll and page works slowly angular 2+
我在我的项目中使用 Angular 2+ 和 Teradata 共价数据 Table。
我有 table 有很多列和 50 行。由于某些原因,在 html 代码中我只看到大约 12 行并滚动。当我滚动时,它会重新呈现数据并显示其他 12 行,因此页面运行缓慢。
有一些html:
<td-data-table
#dataTable
[(ngModel)]="selectedRows"
[data]="filteredData"
[columns]="columns"
[selectable]="true"
[multiple]="true"
[sortable]="true"
[sortBy]="sortBy"
[sortOrder]="sortOrder"
(sortChange)="sort($event)"
(rowSelect)="rowSelect($event)"
(selectAll)="selectAllEvent($event)"
class="fixed-header">
<ng-template tdDataTableTemplate="Id"
let-value="value"
let-row="row"
let-column="column">
<ng-container *ngIf="row['Source'] == 1; else elseTemplate">
...
</ng-container>
<ng-template #elseTemplate>
...
</ng-template>
</ng-template>
<ng-template tdDataTableTemplate="Rate"
let-value="value"
let-row="row"
let-column="column">
...
</ng-template>
我该如何解决这个问题?
也许 covalent 有一些标志可以一次渲染所有 50 行而不重新渲染?
我在 angular material 组件(步进器)上遇到了同样的问题,原因是动画。所以,我为您准备了 3 个解决方案:
解决方案一,如果你不关心动画:
尝试使用 NoopAnimationsModule
而不是 BrowserAnimationsModule
。
方案二,如果你喜欢冒险,乐观:
尝试将您的 Angular 更新到最新版本。我注意到从 5 升级到 7 时动画有很大的不同。Angular 升级工具可以帮助您解决这个问题。
解决方案3,如果动画和速度是强制性的或者你有很多时间:
您可以尝试使用另一个 table 库或构建您自己的库。
我在我的项目中使用 Angular 2+ 和 Teradata 共价数据 Table。 我有 table 有很多列和 50 行。由于某些原因,在 html 代码中我只看到大约 12 行并滚动。当我滚动时,它会重新呈现数据并显示其他 12 行,因此页面运行缓慢。
有一些html:
<td-data-table
#dataTable
[(ngModel)]="selectedRows"
[data]="filteredData"
[columns]="columns"
[selectable]="true"
[multiple]="true"
[sortable]="true"
[sortBy]="sortBy"
[sortOrder]="sortOrder"
(sortChange)="sort($event)"
(rowSelect)="rowSelect($event)"
(selectAll)="selectAllEvent($event)"
class="fixed-header">
<ng-template tdDataTableTemplate="Id"
let-value="value"
let-row="row"
let-column="column">
<ng-container *ngIf="row['Source'] == 1; else elseTemplate">
...
</ng-container>
<ng-template #elseTemplate>
...
</ng-template>
</ng-template>
<ng-template tdDataTableTemplate="Rate"
let-value="value"
let-row="row"
let-column="column">
...
</ng-template>
我该如何解决这个问题?
也许 covalent 有一些标志可以一次渲染所有 50 行而不重新渲染?
我在 angular material 组件(步进器)上遇到了同样的问题,原因是动画。所以,我为您准备了 3 个解决方案:
解决方案一,如果你不关心动画:
尝试使用 NoopAnimationsModule
而不是 BrowserAnimationsModule
。
方案二,如果你喜欢冒险,乐观:
尝试将您的 Angular 更新到最新版本。我注意到从 5 升级到 7 时动画有很大的不同。Angular 升级工具可以帮助您解决这个问题。
解决方案3,如果动画和速度是强制性的或者你有很多时间:
您可以尝试使用另一个 table 库或构建您自己的库。