问题描述
我正在使用带有嵌套节点的CDK树来显示有向无环图(DAG)结构的一部分。鉴于我的数据结构是图形而不是树,因此我拥有可以是多个节点的子节点的节点。当我单击一个节点时,我希望能够确定该节点在哪个上下文中,即谁是其父节点。我不能仅仅将node
对象传递给click事件并遍历我的数据结构,因为关于我单击节点的 context (父级)的信息不是图的一部分,而是图形表示。
我认为最好的解决方案是在构建类似于以下内容的树时将 context 传递给每个子节点:
<cdk-tree [dataSource]="dataSource" [treeControl]="treeControl">
<!-- Leaf nodes -->
<cdk-nested-tree-node *cdkTreeNodeDef="let node" class="example-tree-node" click="nodeClicked(node,context)">
{{node.name}}
</cdk-nested-tree-node>
<!-- Expandable nodes -->
<cdk-nested-tree-node *cdkTreeNodeDef="let node; when: hasChild" click="nodeClicked(node,context)">
{{node.name}}
<div [class.example-tree-invisible]="!treeControl.isExpanded(node)">
<ng-container cdkTreeNodeOutlet let-context="node"></ng-container>
</div>
</cdk-nested-tree-node>
</cdk-tree>
不幸的是,Angular / CDK不支持上述方法。我还没有找到任何使用CDK树来访问节点父级的方法,以能够确定在哪个上下文中单击了节点。
使用带有嵌套节点的CDK Tree实现真的不可能吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)