javascript - Angular 垫复选框需要单击两次才能取消选中和选中

标签 javascript angular typescript angular-material material-design

我有动态填充的复选框,但在尝试取消选中该复选框时出现问题,要求单击两次才能取消选中该复选框。

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>

最佳答案

可以覆盖的默认mat-checkbox选项。

用户单击输入元素时的复选框单击操作。 noop:不要切换选中或不确定。 check:仅切换已检查状态,忽略不确定状态。 check-indefinate:切换检查状态,将 infiniteate 设置为 false。默认行为。未定义:与检查不确定相同。

type MatCheckboxClickAction = 'noop' | 'check' | 'check-indeterminate' | undefined;

可用于指定复选框单击行为的注入(inject) token 。

const MAT_CHECKBOX_CLICK_ACTION: InjectionToken<MatCheckboxClickAction>;

希望这个概念能够帮助解决您的问题

关于javascript - Angular 垫复选框需要单击两次才能取消选中和选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64618147/

相关文章:

javascript - 带有反应和验证器的 Redux 形式

javascript - Angular 4中不同变量的控制检测变化策略

Angular/PrimeNg : Focus on input each time I open a p-dialog

typescript - "Duck" typescript 中的打字与函数参数

javascript - 有没有办法通过 JavaScript 中的 JSDoc 语法声明类型参数,以便 typescript 理解

javascript - 定义未定义 Javascript Node

javascript - 通过具有http auth的ajax获取外部网页的特定部分

javascript - 追加多次?

angular - Gauge highcharts 无法使用 ionic 2 调整大小

typescript - 为什么类型 "never"在联合类型中毫无意义?