我是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效果很好。
谢谢。
答案 0 :(得分:0)
您可以在 mat-checkbox 组件上使用 (更改) 事件,该事件会触发支票的状态(是/否)。
模板:
<mat-checkbox
(change)="doSomething,$event)"
[checked]="variable">
</mat-checkbox>
组件:
doSomething(event) {
if (event.checked) { //doYourthing}
else { //doSomethingElse}
}