Я пытаюсь отобразить массив элементов в выпадающем списке ng-multiselect. Когда я жестко кодирую значения в массиве, они отображаются, однако, когда я пытаюсь создать массив динамически из элементов в базе данных, они не отображаются, даже если они точно зарегистрированы в массиве.
save.component.ts
...
populateDropdown(callback) {
let ham = this.students.snapshotChanges().map(changes => {
return changes.map(c => ({key: c.payload.key,...c.payload.val()}));
});
callback(ham);
}
ngOnInit() {
//stuff
this.fs.initFirebaseApp(environment.userFirebase, 'users');
this.students = this.fs.getList('/students');
let aCall = (data) => {
let count = 1;
data.forEach(student => {
student.forEach(element => {
this.dropdownList.push({
item_id: count++,
item_text: element.first + " " + element.last
});
});
});
}
this.populateDropdown(aCall);
this.dropdownSettings = {
singleSelection: false,
idField: 'item_id',
textField: 'item_text',
selectAllText: 'Select All',
unSelectAllText: 'Unselect All',
itemsShowLimit: 3,
allowSearchFilter: true
};
console.log(this.dropdownList);
this.dropdownList1 = this.dropdownList.slice();
console.log(this.dropdownList1);
}
...
save.component.html
<ng-multiselect-dropdown
[placeholder]="'Select Students'"
[data]="dropdownList"
[(ngModel)]="selectedItems"
[settings]="dropdownSettings"
(onSelect)="onItemSelect($event)"
(onSelectAll)="onSelectAll($event)"
>
</ng-multiselect-dropdown>
firebase.service.ts
...
public initFirebaseApp(config: FirebaseAppConfig, firebaseAppName: string) {
this._db = new AngularFireDatabase(_firebaseAppFactory(config, firebaseAppName));
}
/** Function to get firebase DB list */
public getList(path: string): AngularFireList<{}> {
return this._db.list(path);
}
/** Function to get firebase DB object */
public getObject(path: string): AngularFireObject<{}> {
return this._db.object(path);
}
console.log(this.dropdownList)
отображает массив объектов, а console.log(this.dropdownList1)
- пустой массив. Регистрация каждого элемента в dropdownList
отдельно также ничего не регистрирует.
[{ item_id: 1, item_text: "Test Name" }
{ item_id: 2, item_text: "Alice Bob" }
{ item_id: 3, item_text: "Foo Name" }
{ item_id: 4, item_text: "Test Test" }]
```