Я работаю с данными 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.