根据输入字段,我需要自动选择表格中的复选框

时间:2020-02-13 10:56:00

标签: angular

我有一个要求,如果我在输入字段中输入2,我需要自动选择另一个表中的matcheckbox。如下面的图片所示,如果im根据需要自动选择复选框的输入字段来输入< / p>

<mat-form-field fxFlex="45">
   <input fxFlex matInput placeholder="Enter Total Damage Count"
        formControlName="count" id="count" type="number" 
       class="form-control" required>
</mat-form-field>

<td mat-cell *matCellDef="let element;let i =index"> 
   <mat-checkbox class="example-margin" #damageCheckBox   [checked]="element.damage"  
     [ngClass]="(element.isDamage)? 'mat-checkbox-checked':''"
     (change)="addDamaged(element.id ,i)">Is Damaged</mat-checkbox>
</td>

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用包含输入内容的formGroup(或formControl)中的valueChanges来实现。

在组件类中,您应该有一个FormGroup实例,因此使用以下代码,您可以对表单中的更改做出反应。

myForm.get('count').valueChanges.subscribe(value => {
   if (value === 2) {
       // Autoselect the checkboxes
    }
});

然后,要更新复选框,应将所有项目的damage标志更改为true,并强制表重新呈现新的更改。由于它是MatTable,因此可以通过使用renderRows方法或仅通过将数组的新副本分配给表的源来实现。

相关问题