我有一个名为user的模型类:
export class User {
constructor(
public UserId?: number,
public Name?: string,
public Password?: string,
public IsActive?: boolean,
public RoleId?: number
) {
}
}
对于ng2-select组件,我需要以下属性:text和id。
现在我通过
设置它们this.userService.getAllUsers().subscribe(
data => this.users = data,
err => this.error(err));
没有text和id属性。
是否有一种方法可以在初始化时设置这些属性。
我不想每次都写一个解决方法:
data.forEach(g =>
{
g.text = g.Name;
g.id = g.Id;
});
this.users = data;
答案 0 :(得分:0)
由于您似乎没有在上面的代码段中向User
类输入数组map
,因此您可以在export class UserSelect {
constructor(
public text: string,
public id: number
) {
}
中引入另一个类以及处理此作业的位置
getAllUsers() {
return this.http......
.map(res => res.json().map(x => new UserSelect(x.Name, x.Id)))
}
并在您的服务中:
this.userService.getAllUsers()
.subscribe(data => {
this.users = data;
})
然后你只需订阅
UserSelect
然后你会得到一个users
类型的数组,它具有你需要的适当属性:)当然你可以扩展它并包含你需要的任何属性,记住你不知道你使用的程度{{1}}数组,如果您需要其他属性或原始属性......