У меня есть следующие методы в компоненте, который реализует OnInit, AfterViewInit. TrackFuzzySearchChanges находится в AfterViewInit (). Независимо от того, сколько установлено время отклика, метод выполняется немедленно и выполняет loadData (), которая выполняет WEB API getScreeningSummaries3 (). Пожалуйста помоги. Спасибо.
ngAfterViewInit() {
this.dataSource.totalRecords$.subscribe(r => {
this.paginator.length = r;
this.totalRecords = this.paginator.length;
});
this.dataSource.pageNumber$.subscribe(n => {
this.pageNumber = n;
});
this.dataSource.pageSize$.subscribe(n => {
this.pageSize = n;
});
this.trackFuzzySearchChanges();
this.trackFilterChanges();
this.trackSortChanges();
this.trackPaginatorChanges();
}
trackFuzzySearchChanges() {
merge(this.fuzzySearch.valueChanges)
.pipe(
tap(() => {
debounceTime(2000), // fuzzy search changed when keyup for 2 sec in the mat-form-field
distinctUntilChanged(),
this.paginator.pageIndex = 0;
this.loadData();
})
).subscribe();
}