angular - 根据输入字段,我需要以角度自动选择表格中的复选框
问题描述
我有一个要求,如果我在输入字段中给出 2,我需要在另一个表中自动选择匹配复选框。如下图所示,如果我根据需要自动选择复选框在输入字段中输入。
<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>
解决方案
您可以通过使用valueChanges
包含输入的 formGroup(或 formControl)中的 observable 来实现这一点。
在组件类中,您应该有一个 FormGroup 实例,因此您可以使用以下代码对表单中的更改做出反应。
myForm.get('count').valueChanges.subscribe(value => {
if (value === 2) {
// Autoselect the checkboxes
}
});
然后,要更新复选框,您应该将damage
所有项目的标志更改为 true 并强制表重新呈现新的更改。由于它是一个 MatTable,因此您可以使用renderRows方法或将数组的新副本分配给表的源来完成。
推荐阅读
- jmeter - [Jmeter]-> API 响应字段上的 Jmeter 断言中的小于或大于断言
- laravel - 除非重命名,否则 Laravel Blade 中的 Vue 组件不会渲染
- scala - 在 Spark 中的 HDFS 上写入 csv/parquet 时如何“强制”显示 CRC 文件
- json - 处理 ELK 堆栈中的任意 JSON 日志
- python-3.x - 检查和计算给定子字符串是否存在于 Python 中的字符串中的有效方法
- python - 如何在 selenium Webdriver for python 中按索引查找元素
- javascript - 收到新消息时如何播放声音(聊天系统)
- python - Pymysql 1064,“您的 SQL 语法有错误
- node.js - socket.io 中的多个或后续 Volatile 发射
- javascript - 当单击的元素在同一选项卡上为表单执行 POST 时,OnClick 在 iOS 上不起作用