有没有一种简单的方法可以使用Angular的Mat-Tree
获取所有可见节点的数组?
exampleTree.treeControl.nodes
返回所有节点的数组,并且exampleTree.treeControl.isExpanded(node)
可用于查看给定节点是否扩展,因此您可以遍历树并通过算法检查-如果未扩展节点那么它的子项就不可见了。
但是,似乎应该有一种更简单的方法,也许是通过使用Angular用来在DOM中实际呈现树元素的任何数据结构?
我正在使用一个简单的扁平树,因此以下来自Angular的示例应在此处应用:https://stackblitz.com/angular/qmyvoopvrlg?file=app%2Ftree-flat-overview-example.ts
答案 0 :(得分:0)
_expandedData
上的MatTreeFlatDataSource
属性是连接到数据源时返回的数据,并包含基于扩展状态的当前可见节点。
虽然从当前版本开始您可以直接访问_expandedData
属性,但它不是官方API文档的一部分,因此最正确的方法是使用connect
连接到数据源方法,并使用返回的Observable中的值。