0

我有一个奇怪的问题。

在我的 html 页面中,我有以下代码:

<form>
<tr *ngFor="let role of userRoles" style="width:100%;" >
    <td style="width:37px;">
        <input class="uicheckbox" type="checkbox" [(ngModel)]="role.IsActive" name="isActive{{role.roleId}}" (click)="onCheck(role)" />
    </td>
    <td>{{role.Name}}</td>
</tr>
</form>

我引入了一个具有角色数组的模型,其中一些将 IsActive 设置为 true,一些设置为 false。应根据 role.IsActive 属性选中复选框。但由于某种原因,模型加载时所有复选框都(未)选中。为什么会这样?

编辑:进一步看,所有复选框的状态都取决于数组的最后一个元素。所以如果最后一个角色被选中,所有的复选框都会被选中。

编辑 2:添加了表单标签,因为它会导致问题。

4

1 回答 1

1

您需要[value]="role.isActive"在复选框中输入才能设置单个值。这也在官方 Angular2 指南中有所描述。属性也应该以小写字母开头。你有role.IsActive这违反了 Angular2 风格指南

于 2016-11-30T17:50:58.620 回答