角度-设置复选框处于选中状态无法正常工作

时间:2019-02-22 02:42:48

标签: angular

我是angular的新手,在设置复选框的checked属性时遇到问题。默认情况下,它们是选中的,当我第一次单击将其取消选中时,它会返回到CHECKED,但是在第二,第三等等,它可以完美地工作。顺便说一句,它是一个formArray。

myhtml.component.html

<mat-checkbox [id]="'chkInclude_' + i"
       (click)="setIncludeValue(i,$event)"
       [checked]="test.value.include==1">
</mat-checkbox>

myts.component.ts

setIncludeValue(index,event){
    if (this.readonly[index]!='true' && this.readonly[index]!='false') this.readonly[index]='false'; //1st uncheck

    if(this.readonly[index]=='false'){
        this.readonly[index]='true';
        this.formArray.at(index).patchValue({include: 0});
    {
    else{
        this.readonly[index]='false';
        this.formArray.at(index).patchValue({include: 1});
    }
}

将“包含”设置为0/1效果很好。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以在 mat-checkbox 组件上使用 (更改) 事件,该事件会触发支票的状态(是/否)。

模板:

 <mat-checkbox
       (change)="doSomething,$event)"
       [checked]="variable">
</mat-checkbox>

组件:

doSomething(event) {
 if (event.checked) { //doYourthing}
 else { //doSomethingElse}
 }