繁体   English   中英

使用复选框更改ngModel值

[英]change ngModel value with checkbox

美好的一天..我有这段代码,我需要发送角色。.但是当我选中复选框时,ngModel更改为True或False,这就是发送给数据库的内容。我该如何解决呢?

<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>

仅凭模板很难说。 但是,如果您要发送用户,则可能是您覆盖了数据,因为您在复选框上使用了[(ngModel)]="user.roles[i]" ,因此您可以通过单击复选框来更改该值。 您可以通过执行role.isChecked在角色数组上创建一个项目。 然后,您可以存储选中状态。

我建议更改您的对象。

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>

也许您可以在change事件中设置用户角色? Like (change)="userRoles[i] = role"仅使用Angular的示例plunkr:

https://plnkr.co/edit/erIQNgk6u1JxOc6zCoHW?p=preview

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM