Javascript 角垫复选框需要单击两次才能取消选中并选中
我有动态填充的复选框,但当尝试取消选中复选框时,它会要求单击两次以取消选中复选框Javascript 角垫复选框需要单击两次才能取消选中并选中,javascript,angular,typescript,angular-material,material-design,Javascript,Angular,Typescript,Angular Material,Material Design,我有动态填充的复选框,但当尝试取消选中复选框时,它会要求单击两次以取消选中复选框 enter code here <mat-tree [dataSource]="dataSource" [treeControl]="treeControl"> <mat-tree-node *matTreeNodeDef="let node" matTreeNodeToggle matTreeNodePadding>
enter code here
<mat-tree [dataSource]="dataSource" [treeControl]="treeControl">
<mat-tree-node *matTreeNodeDef="let node" matTreeNodeToggle matTreeNodePadding>
<button mat-icon-button disabled></button>
<mat-checkbox class="checklist-leaf-node"
[checked]="checklistSelection.isSelected(node)"
(change)="checklistSelection.toggle(node);">{{getValue(node)}}</mat-checkbox>
</mat-tree-node>
<mat-tree-node *matTreeNodeDef="let node; when: hasChild" matTreeNodePadding>
<button mat-icon-button matTreeNodeToggle
[attr.aria-label]="'toggle ' + node.filename">
<mat-icon class="mat-icon-rtl-mirror">
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
</mat-icon>
</button>
<mat-checkbox [checked]="descendantsAllSelected(node)"
[indeterminate]="descendantsPartiallySelected(node)"
(change)="todoItemSelectionToggle(node)">{{getValue(node)}}</mat-checkbox>
</mat-tree-node>
</mat-tree>
在此处输入代码
{{getValue(节点)}}
{{treeControl.isExpanded(节点)?'expand_more':'chevron_right'}
{{getValue(节点)}}
默认值mat复选框
可以覆盖的选项
当用户单击输入元素时,复选框单击操作。noop:不要切换为选中或不确定。检查:仅切换检查状态,忽略不确定。检查不确定:切换检查状态,将不确定设置为false。默认行为。未定义:与检查未定义相同
type MatCheckboxClickAction = 'noop' | 'check' | 'check-indeterminate' | undefined;
可用于指定复选框单击行为的注入令牌
const MAT_CHECKBOX_CLICK_ACTION: InjectionToken<MatCheckboxClickAction>;
const MAT\u复选框\u单击\u操作:InjectionToken;
希望这个概念有助于解决您的问题能否请您证明一个stackblitz示例,上面的代码不清楚模板背后是什么。事情可能会影响mat-tree@OlegKuibar对不起,这是动态应用程序。我无法在stackblitz中重现。我可以分享我的角组件代码below@OlegKuibar我在下面提到了闪电战