const data = this.dataSource.data;
this.dataSource.data = [];
this.dataSource.data = data;
在子树上使用 *ngIf 而不是 class.sub-tree-invisible 进行树选择。
<ul [class.tree-invisible]="!treeControl.isExpanded(node)">
将其更改为
<ul *ngif="treeControl.isExpanded(node)">
这将提高树选择的性能。这样,在初始加载时,只需要在 DOM 中呈现根节点。过滤时,必须插入与过滤查询匹配的子节点,这可能会很昂贵。