将一些值添加到列表后,Angular数据表未引用

时间:2019-03-08 06:45:21

标签: angular angular-datatables

在向列表添加一些值后,没有引用角度数据表

     <p-dataTable class="pc-datatable" [value]="dList[i].contactData" [responsive]="true">

ts文件添加

  let obj= new ContactData();
obj.conPerson = this.contactDialogForm.get("contPerson").value;
obj.conMode = this.contactDialogForm.get("contMode").value;
obj.conDetail = this.contactDialogForm.get("contDetail").value;
this.dList[this.selectedIndex].contactData.push(obj);

2 个答案:

答案 0 :(得分:1)

尝试一下

this.dList[this.selectedIndex].contactData = [...this.dList[this.selectedIndex].contactData, obj]

这可能是因为更新数组后未触发p-dataTable。为了触发,您需要创建一个新数组并将所有数据放入其中

答案 1 :(得分:0)

因为您将数据推送到列表,但未更改其reference,所以此更改可能不是detachable的角度。即使这是一个不好的做法,也应该可以解决您的问题:

  let obj= new ContactData();
  obj.conPerson = this.contactDialogForm.get("contPerson").value;
  obj.conMode = this.contactDialogForm.get("contMode").value;
  obj.conDetail = this.contactDialogForm.get("contDetail").value;
  this.dList[this.selectedIndex].contactData.push(obj);
  // change reference by re-assignment
  this.dList[this.selectedIndex].contactData = [].concat(this.dList[this.selectedIndex].contactData);