单击标签时,获取动态生成的垫子复选框的状态



im试图将动态生成的复选框状态传递给单击标签时调用的方法

这是html:

<div *ngFor="let label of consent.labels" style="flex-direction: column">
<div [ngClass]="{'accept': consent.aceptado === true, 'optional': !consent.obligatorio }">
<section style="margin-top: 5px;">
<mat-checkbox color="primary" [(ngModel)]="consent.aceptado" (change)="verify()">
<div [innerHTML]="label.label | safeHtml" (click)="detailSubConsent(checkBoxState, $event)"></div>
</mat-checkbox>
</section>
</div>
</div>

作为附加信息,使用event.prventDefault((,当我点击标签时,我会阻止复选框的状态发生变化

是否有任何方法可以捕获动态生成的复选框的当前状态,并将其传递给单击时执行的方法?

你总是将同一个复选框链接到同一个ngModel,所以如果你有一个列表,你会遇到很多困惑(所有的复选框都有相同的值(,你应该将每个单独的复选框链接至不同的ngModel,我建议为每个标签创建一个带有键的新对象,现在我不知道你的标签对象类型定义,我将演示解决方案,假设每个标签都有一个唯一的Id。

<div *ngFor="let label of consent.labels" style="flex-direction: column">    
<mat-checkbox color="primary" [(ngModel)]="obj[label.id]">
<div [innerHTML]="label.label | safeHtml" (click)="detailSubConsent(label.id, $event)"></div>
</mat-checkbox>
</div>

detailSubConsent(id, $event){
//access the state as shown below 
this.obj[id]
}

最新更新