角度材质树中的预选框

时间:2020-02-19 14:14:52

标签: javascript angular typescript tree angular-material

我正在显示一个Angular Material Tree。该树本身可以正常工作,但是我还有一个已经选择的名称/标识列表。数据分别提供给我。我一直无法弄清楚如何在加载时预先检查树中的复选框。

我在这里创建了一个Stackblitz来展示我的问题:Data Validation wiki page

我最初的想法是尝试浏览我的选定列表,然后像这样手动切换ngInit中的选定对象(虽然这不起作用):

    for (const pg of selectedBoxes) {
      let leaf = new TodoItemFlatNode();
      leaf.item = pg.Product_Group_ID.toString();
      leaf.level = 1;
      leaf.expandable = false;
      this.todoLeafItemSelectionToggle(leaf);
    }

还有其他建议吗?我无法在线找到任何示例。

1 个答案:

答案 0 :(得分:0)

最后找到了我正在寻找的here.

的类似示例

通过遍历我现有的节点并将它们与我现有的选定数据列表进行比较;我可以使用现有节点而不是创建新副本来切换支票。

像这样:

    for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
      for (const pg of selectedBoxes) {
        if (this.treeControl.dataNodes[i].item == pg.Product_Group_Name) {
          this.todoItemSelectionToggle(this.treeControl.dataNodes[i]);
          this.treeControl.expand(this.treeControl.dataNodes[i])
        }
      }
    }