我正在尝试编辑用户,我已经在我的表中恢复了用户但是,我的问题是如何在我的选择多个表中显示所选的元素
getUserDetail(iduser : number){
this.GetGroups();
this.serviceuser.UserDetail(iduser).then((u : User)=>{
this.users = u;
const form = this.FormUserUpdate.setValue({
username : this.users.username,
email : this.users.email,
idgroups : this.users.groups,
})
console.log(this.users);
})
}
这是我在表单中检索用户的代码,但是如何才能将标记的组取出?
GetGroups() {
this.servicegroup.getGroup().then(res => this.groups = res);
}
在这里,我将服务称为返回群组
<div >
<label for="idgroups">Grupos</label>
<select multiple formControlName="idgroups" class="form-control">
<option *ngFor="let group of groups" value={{group.id}}>
{{group.name}}
</option>
</select>
</div>
这是我的HTML,因为他们会意识到它只显示所有组,但我该如何标记用户拥有的组?
我想要的是我留下的标记除了其他现有组
之外还有这些用户的组答案 0 :(得分:0)
您将 idgroups 设置为对象数组。它应该是数字的数组,因为作为选项的值,您使用 group.id :
<option *ngFor="let group of groups" value={{group.id}}>
{{group.name}}
</option>
在这里
getUserDetail(iduser : number){
this.GetGroups();
this.serviceuser.UserDetail(iduser).then((u : User)=>{
...
idgroups : this.users.groups,
})
console.log(this.users);
})
}
替换为:
getUserDetail(iduser : number){
this.GetGroups();
this.serviceuser.UserDetail(iduser).then((u : User)=>{
...
idgroups : this.users.groups.map(gr => gr.id), // =>[1,2...5]
})
console.log(this.users);
})
}