获取角度材质中单击事件的选中状态

时间:2017-10-16 07:41:38

标签: angular angular-material

我有一个角元素

<mat-checkbox class="btn-block" 
              labelPosition="before" 
              (change)="showOptions($event)" 
              (click)="makeJSON($event.checked,i,j,k)">
</mat-checkbox>

这里onchange(实际上给出了checkout的状态)正在做一些其他的任务,我想要点击事件的复选框状态(选中或取消选中)。

我已经尝试查看由click创建的对象,并且里面没有click对象,所以我如何检测是否选中了复选框。

5 个答案:

答案 0 :(得分:31)

您可以使用

(change)="showOptions($event)" 
(change)="makeJSON($event.checked,i,j,k)">

(change)="showOptions($event);makeJSON($event.checked,i,j,k)">

答案 1 :(得分:11)

使用您的(change)="showOptions($event)",您可以简单地获得如下状态:

showOptions(event:MatCheckboxChange): void {
    console.log(event.checked);
}

答案 2 :(得分:4)

另一个解决方案是,您可以将模板引用变量与复选框一起使用,并将该变量传递给方法参数。

 <mat-checkbox #checkbox (change)='showOptions(checkbox.checked)' value=''>all</mat-checkbox> 

此处 #checkbox 引用包含所有与复选框相关的属性(例如值,选中的等)。 checkbox.checked (当前选中状态),将显示复选框的当前状态,为true和false。

答案 3 :(得分:4)

是的,您可以使用更改功能获取选中的事件 (change)=“ showOptions($ event);

在Ts

showOptions(event){
 console.log(event.checked); //true or false
}

如果Checkbox为false则未选中enter image description here

当Checkbox为true时,其选中的enter image description here

答案 4 :(得分:0)

whTax =false;                  
<mat-checkbox color="primary"
                      name="whTax" [checked]="false"
                      [(ngModel)]="whTax" id="IsHold"
                      (change)="onWHChange(whTax)">
                        W/H TAX
                  </mat-checkbox>
    onWHChange(isWhChecked){
      console.log('isWhChecked:>>', isWhChecked);
    }