matTreeNodeDef迭代上的角垫树无法从ngfor开始获取索引

时间:2019-04-03 08:14:45

标签: angular angular-material

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

<mat-tree-node *matTreeNodeDef="let node; let idx=index">
{{node.filename}}::{{idx}}
</mat-tree-node>

此处没有填充idx

4 个答案:

答案 0 :(得分:2)

恐怕*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

答案 1 :(得分:0)

我认为它没有填充,因为您没有在迭代。 ISNULL(CONVERT(varbinary(MAX),T.N.value('DocContent[1]', 'varchar(max)')),'') 仅将node声明为数据源。尝试使用let node;let node of nodes

答案 2 :(得分:0)

根据任务,css counters可能是解决方案

答案 3 :(得分:0)

您将需要使用以下转换函数将索引添加到节点: https://stackoverflow.com/a/57142368/11692089