angular2-select没有填充动态数据

时间:2017-02-21 07:09:28

标签: angular angular2-select

我有一个添加组模块,其中有用户列表,我正在使用angular2-select进行多项选择。单击按钮即可打开添加组页面。这是代码

<ng-select [options]="users" [multiple]="true" [(ngModel)]="group.selectedUsers" placeholder="select users" name="users"></ng-select>

我正在填写此API响应数据

ngOnInit() {
   this.userService.getAllUsers()
       .subscribe(data => {
            data.forEach(element => {
                this.users.push({ value: element.id, label: element.firstName});
            });
        })
}

现在,当我第一次打开添加组页面时,用户列表为空。第二次打开后填写用户列表。我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

我想问题是你的this.users仍然是同一个对象,所以如果你将项目推送到它,angular将不会检测到更改。因此,组件不会更新,您的选项也不会显示。

要实现这一点,您应该让this.users指向新的Array

ngOnInit() {
    this.userService.getAllUsers().subscribe((data) => {
        this.users = data.map((element) => {
            return {
                value: element.id,
                label: element.firstName
            };
        });
    });
}