0

在我的treeview组件中,我加载了 1000 多个节点作为一个父节点的子节点。然后在父节点的nodeChecked事件中,我循环遍历所有 1000 个子节点并调用getTreeData()通过传递子 ID 获取特定子节点的所有数据的方法。现在的问题是,这个过程需要很多时间,而且我面临着性能问题。如果树有超过 1000 条记录getTreeData(),则返回结果需要更长的时间。我检查了文档,发现没有其他方法getTreeData可以返回整个树节点的数据。有没有替代getTreeData()方法?

4

1 回答 1

0

我们检查了您的查询并想让您知道,TreeView 组件以可行的性能时间获取数据。在您的场景中,循环将执行 1000 个项目,然后再执行 1000 次以通过 getTreeData() 方法获取相应节点的树数据。这是您最终报告的场景的根本原因。由于您通过 nodeChecked 事件获取节点详细信息,因此您可以使用事件参数获取节点详细信息,而不是使用 getTreeData() 方法,如下所示。

public nodeChecked(args) {
var data = args.data;
console.log(data);
}

示例:https ://stackblitz.com/edit/angular-getnodedata-hzkwjl-hrxmop-kkn1ne-dl8ji8?file=app.component.ts

于 2021-06-09T14:39:54.547 回答