Я получил поисковый запрос и выпадающий список, который показывает предопределенные фильтры. Для реализации фильтра я расширил Angular MatDataSource filter predicate
с помощью специального фильтра:
this.invitationsDataSource.filterPredicate = (d: InvitationsApi, x: string) => {
return this.recursiveSearch(d, x) && this.handleFilter(this.filterControl.value, d);
};
Теперь я подписываюсь на valueChanges поискового ввода и выпадающий список для правильной фильтрации данных:
this.searchControl.valueChanges.pipe(
map(query => query.trim().toLowerCase()),
map(query => this.invitationsDataSource.filter = query)
).subscribe();
и для фильтра выберите раскрывающийся список:
this.filterControl.valueChanges.pipe(
).subscribe();
Как я могу активировать фильтр сейчас? Проблема в том, что фильтр также должен запускаться, когда searchControl пуст и выбран filterControl. Есть ли способ вручную запустить фильтр Angular MatDataSource?