我有一个编辑表单,其中数据来自数据库,其中包含一个由名称和选定属性组成的角色对象数组。我有一个数组中每个角色对象的复选框。加载表单时,即使查看所选属性为true的对象,也不会选中该复选框。如果我选中一个复选框,则下面标签中的role.selected值会发生变化,所以我不确定为什么在首次加载表单时不会选中该复选框。我尝试添加[value]="role.selected"
和[checked]="role.selected"
,但这并没有改变任何内容。任何帮助是极大的赞赏。我确信它看起来很简单,看了几个小时之后我就看不到了。
<div class="checkbox" *ngFor="let role of userToEdit.allRoles">
<label><input type="checkbox" name="role" [(ngModel)]="role.selected" >{{role.name}}, {{role.selected}}</label>
</div>
答案 0 :(得分:6)
您的所有输入都应该有一个不同的名称。
<div class="checkbox" *ngFor="let role of roles; let i = index">
<label><input type="checkbox" name="role_{{ i }}" [(ngModel)]="role.selected" >{{role.name}}, {{role.selected}}</label>
</div>