当数据源发生更改时,primeNG Datatable不会更新

时间:2017-02-23 08:21:44

标签: angular datatable primeng

我遇到了primeNG数据表的问题,在更新数据时,数据表不会自动更新。 我在通过服务进行通信的不同组件中有两个数据表,当在第一个数据表中单击一行时,会调用一个更新数据源的方法,但是第二个数据表无法识别它。 也许有人有类似的问题,或者有一个如何使用primeNG数据表解决问题的例子? 我将不胜感激任何帮助。

3 个答案:

答案 0 :(得分:4)

在我的情况下:将数据推入tableData数组,然后复制tableData数组本身(使用slice()

export class DataTableComponent{
    tableData=[];
    county={id:1,name:"china"}
    onAdd(){
         this.tableData.push( Object.assign({}, this.country));
         this.tableData=this.tableData.slice();
    }
}

并且有效

答案 1 :(得分:1)

我在这里找到了一个解决方案:datatable issue on github

我对此进行了测试并且有效:

this.myDatasource = new Array;
this.myDatasource = myNewValuesFromService;

答案 2 :(得分:0)

我使用过Anne的方法,它对我来说很有效。我遇到的问题是在服务回调中我使用的是array[index] = new_value,而dataTable并不知道这种变化。

通过添加slice(),它完美无缺。