美好的一天..我有这个代码,我需要发送角色..但是当我选择复选框时,ngModel变为True或False,它是发送给DB的...我该如何解决?
<mdl-checkbox class="mdl-textfield--full-width" *ngFor="let role of roles; let i = index"
[(ngModel)]="user.roles[i] " name="ckb{{i}}">
{{role.name}}
</mdl-checkbox>
答案 0 :(得分:0)
很难说只有模板。但是,如果您要发送用户,则可能是您要覆盖数据,因为您在复选框上使用了[(ngModel)]="user.roles[i]"
,而是通过单击复选框来更改该值。您可以通过执行role.isChecked
在角色阵列上创建项目。然后您可以存储已检查的状态。
答案 1 :(得分:0)
我建议改变你的对象。
public class Role {
id: number;
name: string;
enabled: boolean;
}
<mdl-checkbox class="mdl-textfield--full-width" *ngFor="let role of roles; let i = index" [(ngModel)]="user.roles[i].Enabled" name="ckb{{i}}">
{{role.name}}
</mdl-checkbox>
答案 2 :(得分:0)
您可以在change
事件中设置用户角色吗?像(change)="userRoles[i] = role"
仅使用Angular的样本plunkr: