角材料2更改根后代复选框颜色

时间:2019-02-12 13:06:52

标签: angular angular-material2

我正在使用带有复选框的角形材质2树,并且我想动态更改复选框的颜色。简单的方法是单击它(触发((更改)事件)并更改MatCheckboxChange.source.color。问题是,当我单击根节点时,有什么方法可以获取所有后代复选框源(更改所有后代的颜色)?示例here

模板

<mat-checkbox class="checklist-leaf-node"
              [checked]="checklistSelection.isSelected(node)"
              (change)="todoLeafItemSelectionToggle(node, $event)">{{node.item}}</mat-checkbox>

代码

todoLeafItemSelectionToggle(node: TodoItemFlatNode, event: MatCheckboxChange): void {
    event.source.color = 'warn'; // <---

    this.checklistSelection.toggle(node);
    this.checkAllParentsSelection(node);
  }

1 个答案:

答案 0 :(得分:0)

向模板添加颜色变量

C:\Users\trollgrammer>CD /D Y:\a
Y:\a>For /F "Delims=" %G In (files.txt) Do @Copy /Y "%G*" "..\b"

然后在您的JavaScript中

<mat-checkbox class="checklist-leaf-node"
          [checked]="checklistSelection.isSelected(node)"
          [color]="color"
          (change)="todoLeafItemSelectionToggle(node, $event)">{{node.item}}</mat-checkbox>

编辑:

对于动态颜色this.color = 'primary'; this.color = 'accent'; this.color = 'warn';

相关问题