分配数据后无法立即过滤PrimeNG数据表

时间:2018-07-06 10:42:25

标签: angular typescript asynchronous primeng primeng-datatable

我正在使用PrimeNG数据表和Angular4。我正在从服务器获取数据并将其分配给表引用。

@ViewChild('tableRef') table;

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

由于某些原因,过滤器调用失败,提示“无法读取null的长度” 。 经过分析,看来在'filter'调用时,数据表的dataToRender属性仍然为空。

我尝试在超时中包装过滤器调用,以下代码有效:

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

尽管可以,但是我试图避免使用超时。有人以前遇到过这个问题并且有更好的解决方案吗?也许有人可以指出我关于PrimeNG已知的任何类似问题。

0 个答案:

没有答案