我正在構建Angular 2中的用戶管理屏幕,我希望能夠從屏幕管理用戶的角色。目前,我有一個所有角色(id和name)的列表以及包含該用戶所有角色的數組(id和name)的用戶列表。我希望能夠將屏幕上的角色列爲複選框,並能夠將其設置爲用戶已有的角色。以編程方式設置複選框
目前我使用* ngFor在我的模板中列出了所有角色。
<div class="row">
<div class="col-xs-12">
<div class="form-inline" style="display:inline" *ngFor="let role of allRoles">
<div class="form-check">
<label class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input">
<span class="custom-control-indicator"></span>
<span class="custom-control-description">{{role.name}}</span>
</label>
</div>
</div>
</div>
</div>
我想弄清楚填充所選角色的最佳方法。我是否應該爲每個擁有「selected」屬性的用戶列出所有角色的列表,還是有一種更優雅的方式來執行此操作?
如果allRoles是多維的,我該怎麼做?例如,我有一個「角色組」的數組,每個項目都有一個角色數組。我是否需要添加另一個循環? –
@IsaacLevin - 您可以在地圖內製作一張地圖,以獲得全新的集合,其中包含所有您想要的信息。基本上它是一個嵌套循環。 – Josh
@IsaacLevin - 我添加了一個更新的plunker,展示瞭如何使用角色組來完成此操作。 – Josh