Невозможно отфильтровать данные PrimeNG сразу после назначения данных - PullRequest
0 голосов
/ 06 июля 2018

Я работаю с данными PrimeNG и Angular 4. Я получаю данные с сервера и назначаю их для ссылки на таблицу.

@ViewChild('tableRef') table;

this.http.callDataFromServer()
.subscribe((data) => {
    this.table = data;
    this.table.filter('Growth', 'status', 'equals');
}

По некоторым причинам, вызов фильтра завершается неудачно, говоря 'Невозможно прочитать длину нуля' . Я проанализировал, и оказалось, что свойство dataToRender для datatable по-прежнему равно нулю во время вызова 'filter' .

Я попытался обернуть вызов фильтра в тайм-аут, и код ниже работает:

this.http.callDataFromServer()
    .subscribe((data) => {
        this.table = data;
        setTimeout(()=> {
           this.table.filter('Growth', 'status', 'equals');
        },0);
    }

Хотя это работает, я стараюсь избегать использования тайм-аута. Кто-нибудь сталкивался с этой проблемой раньше и имеет лучшее решение? Может быть, кто-то может указать мне на любую похожую проблему, известную PrimeNG.

...