У меня проблема с реализацией mat-sort в mat-table, когда источник был создан из потока наблюдателей.
Просто выполните его с помощью документации:
ngAfterViewInit() {
this.dataSource.sort = this.sort;
}
не работает должным образом - всегда будет сортироваться только 5 строк на моем столе.
Я думаю, моя проблема заключается в правильном использовании его с соединением rxjs.
К сожалению, после проверки других вопросов/документации я не могу найти никакой идеи.
Я создал источник данных из двух потоков наблюдателей. Также я использовал для него BehaviourSubject (для начальных значений), combLatest и карту переключения. Стол был создан правильно и отлично работает.
Также, когда я добавил фильтр (в соответствии с документацией по угловому материалу), он работает правильно. Но mat-sort... not (только 5 первых строк).
ngOnInit() {
this.filters = itemFilters;
this.idSubject = new BehaviorSubject(this.filters[0]);
Observable.combineLatest(this.name, this.selectedFilter)
.do(_ => this.items = null)
.switchMap(([name, filterIndex]: [Name | null, number]) => {
const item = this.filters[filterIndex];
this.namesSubject.next(item.display);
return this.itemService.getItems(name);
})
.subscribe(this.setItems.bind(this), this.setError.bind(this));
}
Также я пробовал с Observable.zip - но я думаю, что это тоже не мое дело. Любая идея/совет будет очень ценным.
Я думаю, я должен подписаться на метод сортировки на наблюдаемые потоки. Та же проблема у меня с разбивкой на страницы. Иногда работает, иногда нет.