如何设置来自响应的ng2-select选项 [英] How to set the option of the ng2-select which is coming from responce
本文介绍了如何设置来自响应的ng2-select选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在开发angular2应用程序,我已经使用ng2-select作为下拉菜单.当我对选项列表进行硬编码时,它的工作正常.但是我的要求是从服务器中提取列表,然后在select中列出.
I am working on angular2 application, I have use the ng2-select for the dropdown. Its working fine when i hard-code the list of option. But my requirement is to pull the list form the server and then list in select.
export class EditProjectComponent {
routeParam: RouteParams;
aminities: any;
@ViewChild(Select)
private select: Select;
private items: Array<string> = [''];
constructor(
@Inject(Router) private router: Router,
@Inject(ProjectService) private projectService: ProjectService,
@Inject(DeveloperService) private developerService: DeveloperService,
@Inject(AmenityService) private amenityService: AmenityService,
routeParam: RouteParams,
private _formBuilder: FormBuilder
) {
this.project = new ProjectModel();
this.routeParam = routeParam;
this.getAmenities();
}
private getAmenities() {
this.items.length = 0;
this.amenityService.get((res) => {
res.forEach(element => {
this.items.push(element.name);
});
}, (err) => { })
}
}
HTML:
<ng-select [initData]="aminities" (data)="refreshValue($event)" [multiple]="true" [items]="items" [disabled]="disabled"></ng-select>
我遇到错误
无法读取[在EditProjectComponent @ 148:114中已禁用]中未定义的属性"hasChildren"
推荐答案
private getAmenities() {
this.items.length = 0;
this.amenityService.get((res) => {
res.forEach(element => {
this.items.push(element.name);
this.select.itemObjects.push(new SelectItem({ id: element._id, text: element.name }));
});
}, (err) => { })
}
这篇关于如何设置来自响应的ng2-select选项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文