当未在ngOnInit()中设置数据时,p-dataTable未绑定

时间:2019-01-17 04:58:33

标签: angular primeng

我有这个对话框,用户可以在其中输入一些数据。该对话框是较大形式的一部分。当用户在对话框中输入完数据并单击SAVE时,输入的数据将成为p-dataTable中的一行。

<p-dataTable [value]="dataItems">
</p-dataTable>

SAVE上,我将项目推入dataItems数组。

onSave(){
  this.dataItems.push(newItem);
  this.showMyDialog = false; //to hide the dialog.
}

不幸的是,没有任何反应。网格一直显示:没有要显示的行

但是,当我在ngOnit()中手动添加数据时,它就可以正常工作。

ngOnInit() {  
  let newItem = { name: 'ABC', phone: '123' }
  this.dataItems.push(newItem);

}

我想念什么吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

这应该可以,但是有时Primeng表不会遇到数据更改,因此,在这种情况下,请尝试这种情况-

onSave(newItem){
  this.dataItems = []; // Refresh datatable data by set it yo e
  this.dataItems= [newItem];
  this.showMyDialog = false; //to hide the dialog.
}