我正在使用带有复选框的角形材质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);
}
答案 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';