javascript - 如何使用 NgModel 在 Angular 中默认选中一个复选框?
问题描述
嗨,我正在尝试默认选中复选框中的第一个值。如何在打开页面时检查并分配它的值?
这是我的 HTML 页面
<fieldset>
<legend class="text__bold">Choose Screen Size</legend>
<ng-container *ngFor="let viewport of viewports; let i = index" formArrayName="viewport">
<input type="checkbox" class="check--box" name="viewport{{i}}" id="{{viewport.value}}"
[value]="viewport.value" [formControlName]="i" ng-checked="true">
<label for="{{viewport.value}}">{{ viewport.value }}</label>
</ng-container>
</fieldset>
打字稿文件:
public ngOnInit(): void {
this.urlForm = this.createForm();
const checkboxControl = this.urlForm.controls.viewport as FormArray;
this.subscription = checkboxControl.valueChanges.subscribe(() => {
checkboxControl.setValue(
checkboxControl.value.map((value, i) =>
value ? this.viewports[i].value : ''
),
{ emitEvent: false }
);
});
}
解决方案
推荐阅读
- angular - 在社交媒体中共享链接时显示页面标题:Angular 8
- python - 如何在绘图中启用辅助 y 轴并获得更好的视觉效果
- java - 来自xml java的特定节点
- nest-device-access - PCM:无法访问合作伙伴
- leaflet - 在不复制或显示地图之外的区域的情况下尽可能多地显示地图
- sql - 我可以在 Oracle SQL 中组合多列的一部分吗
- python-3.x - 如何在python中动态创建类的实例
- mongodb - 命令 createIndexes 需要身份验证
- mongodb - 如何在一个字段上分组,同时忽略另一个字段的重复项?
- c - C:在使用相同的 8 字节空间的情况下,long long 的范围如何比 long 大得多?