Angular Mat树重新渲染性能问题需要太多时间

问题描述 投票:1回答:1

[我正在mat-tree中使用具有大约3k记录的API调用子项上的子节点中的非常大的数据集,而我正在做的是通过在数据源下添加来自API的子项并通过以下方式重新渲染来更新数据源:] >

this.dataSource.data = updatedDataDource;

重新渲染需要15秒钟以上,因此不可接受。

有什么方法可以使我只能从api重新渲染该节点和关联的子代(我指的是部分渲染)。如果有任何相同问题,请提供帮助。

我在具有约3k记录的API调用子项的子节点上使用具有非常大数据集的mat-tree,而我正在做的是通过在...之下添加来自API的子项来更新dataSource。]] >

在子树上使用* ngIf而不是class.sub-tree-invisible进行树选择。

<ul [class.tree-invisible]="!treeControl.isExpanded(node)">

更改为

<ul *ngif="treeControl.isExpanded(node)">

这将提高树选择的性能。这样,在初始加载时,仅根节点将必须在DOM中呈现。过滤后,必须插入与过滤查询匹配的子节点,这可能会很昂贵。

angular material-ui angular-material2
1个回答
0
投票

在子树上使用* ngIf而不是class.sub-tree-invisible进行树选择。

© www.soinside.com 2019 - 2024. All rights reserved.