React / Node серверные данные приложения для ag-grid OnFilterChanged и IsExternalFilterPresent оба запускаются, но делает ExternalFilterPass - нет. Я пытался поиграть с привязкой функций и даже нажатием на курок. Также пытался заставить IsExternalFilterPresent всегда возвращать true, но он все еще не работает. Основное отличие от примера документации и моего проекта заключается в том, что я использую данные на стороне сервера. Если он не должен работать, нигде не говорится в do c, что это только клиентская часть (в отличие от быстрого фильтра, который четко указан).
Редактировать: логика жизненного цикла c на моем код. Я не знаю, уместно ли добавлять то, как я получаю данные со стороны сервера. Но вот основной лог c, который я добавил для внешнего фильтра. Это внутри компонента класса, который отображает agGrid.
// On state change trigger filter change
componentDidUpdate (prevProps, prevState) = {
const filterChange = (prevState.filterDashboard !== this.state.filterDashboard);
if(filterChange){
console.log('filter triggered')
this.state.gridAPI.onFilterChanged()
}
}
// functions passed to my agGrid component
isExternalFilterPresent = () => {
console.log('filter present', this.state.filterDashboard);
// only trigger does filter pass if the filter is true
return this.state.filterDashboard
}
doesExternalFilterPass = (node) => {
console.log('filter pass', node)
if(this.state.filterDashboard){
for(let key in node.data){
if(node.data[key].toString().includes(this.state.filterString)) return true
}
} else return true
}