我有一棵角材树。在上面我有如下代码

<mat-tree-node *matTreeNodeDef="let node; let idx=index">
  {{node.filename}}::{{idx}}
</mat-tree-node>
这里idx没有填充

最佳答案

恐怕*matTreeNodeDef*ngFor指令不同。
*matTreeNodeDef指令接受2个输入。

首先是TreeNode<T>,可以定义为

<mat-tree-node *matTreeNodeDef="let node">
  ...
</mat-tree-node>

其中node表示TreeNode对象。

第二个是matTreeNodeDefWhen,它是一个过滤Tree节点的函数,可以定义为

的HTML
<mat-tree-node *matTreeNodeDef="let node; when hasChild">
  ...
</mat-tree-node>

TS
hasChild = (_: number, node: FlatNode) => node.expandable;  // returns a boolean value

一般而言,树结构没有索引。

引用:https://material.angular.io/components/tree/api#MatTreeNodeDef

07-24 21:00