mat-checkbox不检查条件是否为假(仅双击)

时间:2018-04-27 16:57:12

标签: angular angular-material

我有一个实体,其变量需要与复选框状态相反。

enitity.enabled = true

复选框位于"标记为删除"这个项目。如果您标记并发送表单,则标记的项目将被软删除。

考虑到这一点,复选框完全如下:

<mat-checkbox [(ngModel)]="!entity.enabled">{{!entity.enabled}}</mat-checkbox>

出于某种原因,只有在第二次点击时才会更改enitity.enabled值。

我看了很多解决方案,或者如果这是一个错误,我找不到任何帮助。

知道如何解决这个问题吗?

Example here

1 个答案:

答案 0 :(得分:2)

您不能将否定运算符与ngModel一起使用。

<mat-checkbox [(ngModel)]="entity.enabled">{{!entity.enabled}}</mat-checkbox>

以这种方式试试。

另一种方法是对点击或变更事件做出反应

HTML

<mat-checkbox [checked]="entity.enabled" (change)="onChange()">{{!entity.enabled}}</mat-checkbox>

打字稿

private onChange(): void {
   this.entity.enabled = !this.entity.enabled;
}

private onClick(): void {
  this.entity.enabled = !this.entity.enabled;
}