2017-02-21 9 views
1

複数の選択肢に対してangular2-selectを使用しているユーザリストがあるグループ追加モジュールがあります。グループの追加ページは、ボタンをクリックすると開きます。ここでは、コードangular2-selectは動的データで埋められていません

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

であると私は

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

は今、初めて私は、ユーザーのリストが空である[グループの追加]ページを開く応答データこのAPIを充填しています。ユーザーリストは、2回目を開いた後で埋められます。何か不足していますか?

+0

データがリスト内に存在し、実際にどのくらい? – Ankit

+0

時間の間に6人のユーザー –

答えて

2

あなたのthis.usersは同じオブジェクトのままであるため、項目を押しても角が変更を検出しないという問題があると思います。したがって、コンポーネントは更新されず、オプションも表示されません。これはあなたを動作させるために

は新しいArraythis.usersポイントを聞かせてください。

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

今これは他の変数で起こっています。 let selectedUserIds = this.group.memberList.nameId.map((member:any)=> {return member.id}); this.selectedUsers = selectedUserIds; これを解決できますか? –

+0

@SunilGarg何が起こっているのですか?これは、オプションの代わりに値を設定しているようです。その場合、selectedUsersが文字列のリスト(配列)であることを確認してください。 –

関連する問題