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