我正在使用Angular Material Tree,并且需要根据某些逻辑扩展某些节点。
我从Angular Material官方文档中提供的示例之一开始创建了一个示例。
如果我点击按钮 Expand Fruits Node ,我想获得以下渲染效果
管理按钮单击的代码如下
function filterRepWalk(a) {
return a.filter((v,i) => (!a[i-1] || (v.mode != a[i-1].mode)) || v.mode != "WALK");
}
不幸的是,如果我单击按钮,则什么也没有发生。关于如何达到预期行为的任何建议?
答案 0 :(得分:0)
您的问题是您不扩展父级。
树控件仅扩展给定节点或节点的后代(一次扩展全部)。
这意味着您必须找到父项,然后对其进行扩展,然后对其子级进行扩展。
Here is the working stackblitz和相关代码:
if (node.item === 'Groceries') {
console.log('parent found');
this.treeControl.expand(node);
}
if (node.item === "Fruits") {
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>found', node);
this.treeControl.expand(node);
}