Внешняя сетка фильтрации с моделью рядов на стороне сервера - PullRequest
0 голосов
/ 29 февраля 2020

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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...