У меня есть компонент турбо-таблицы primeng. Мне нужно применить несколько фильтров к таблице.
От родителя, которого я вызываю myTable.doFilter(first_values); myTable.doFilter(second_values);
один за другим
На компоненте child (turbo-table) фактический фильтр применяется как doFilter(...filter_values...){ this.pTable.filter(...filter_values...); }
doFilter(...filter_values...){ this.pTable.filter(...filter_values...); }
Проблема заключается в том, что второй фильтр применяется до того, как первый закончен и вызывает неожиданные результаты.
Как я могу вызвать фильтры после завершения предыдущего фильтра. Событие испускается после завершения фильтра, но я не могу найти способ использовать его.
Parent.ts
fetchList(searchData) {
this.ratesTable.reset();
this.ratesDataSource = [];
this.programService.fetchList(searchData)
.then(
(response) => {
this.ratesDataSource = response.rates;
this.doTermFilter();
this.doLoanFilter();
})
.catch((error) => {
console.error("from ts" + error);
});
}
doTermFilter(){
this.doFilter({ filterValue: _termFilters, columnField: "COL1", filterMethod: "in" });
}
doLoanFilter(){
this.doFilter({ filterValue: _loanFilters, columnField: "COL7", filterMethod: "in" });
}
child.ts (турбо-таблица)
doFilter(doFilterInput: { filterValue: any[], columnField: any, filterMethod: any }) {
this.pTable.filter(doFilterInput.filterValue, doFilterInput.columnField, doFilterInput.filterMethod);
}
Буду признателен за любую оказанную помощь. Спасибо