angular 加载数据后树组件展开

angular tree component expand after loading data

我想在启动时展开第一个节点。我saw here顺便去。 不同之处在于我的代码中没有节点,而是从我的数据库中获取的。这是我的代码:

this.appService.getTreeStructure().then((treeNodes) => {
      this.nodes = treeNodes;
      const treeModel: TreeModel = this.treeComponent.treeModel;
      console.log(treeModel);
      const firstNode: TreeNode = treeModel.getFirstRoot();
      console.log(firstNode);
      firstNode.expand();
    });

那是行不通的。第一个控制台日志显示 treeModel 是一个对象,但第二个是未定义的。我可以在 treeModel 中添加一个 nodes 属性,其中包含第一个输出中的所有节点,但我无法访问它们。

如何在启动时扩展第一个节点?

更新节点时,您需要监听 updateData 事件。

<tree-root [nodes]="nodes" (updateData)="onUpdateData()"></tree-root>

onUpdateData() {
      const treeModel: TreeModel = this.treeComponent.treeModel;
      const firstNode: TreeNode = treeModel.getFirstRoot();
      firstNode.expand();
}