【发布时间】:2021-02-12 17:26:15
【问题描述】:
我是响应式表单的新手,并且努力将复选框的 value 动态设置为 true。 这是一个例子: 我从数据库中获取特定用户的预选水果值,当用户加载页面时需要检查这些水果。
我正在使用下面的 html 代码:
<ng-container>
<div class="form-check form-check-inline" style="display: block;" *ngFor="let control of fruitsArray.controls; let i = index;">
<input *ngIf="i<11" class="form-check-input" [formControl]="control" type="checkbox" id="inlineCheckbox{{i}}" [checked]="fruitsCheck[i].checked">
<label *ngIf="i<11" class="form-check-label" for="inlineCheckbox{{i}}">{{fruitsCheck[i].label}} <br /></label>
</div>
fruitsCheck 是一个包含标签和检查值的对象数组,如下所示:
fruitsCheck : Array<{label: string, checked: boolean}> = [];
fruitsCheck 将保存以下值:
0: {label: "Apple", checked: true},
1: {label: "Orange", checked: false},
2: {label: "Pineapple", checked: true},
3: {label: "Kiwi", checked: false}
使用上面的代码,我可以将适当的复选框设置为选中,但是在检查特定复选框控件的 value 时,它仍然显示为 false em>。我希望复选框不仅被选中,而且控件的值也被设置为 true。
我阅读了有关 patchValue 的信息,但不确定如何使用它将值设置为动态复选框。 提前感谢您的帮助!
【问题讨论】:
标签: angular checkbox angular-reactive-forms reactive-forms