我有一个人数组,我在primeng数据表中显示。每个对象都有这些字段(firstName,lastName和age)。每个字段对应一个表中的一列,其中一列显示每个对象的状态。状态指示表中的对象/行是否已更改。有两种状态"对象更改/不更改"
<p-dataTable [value]="persons" [editable]="true" resizableColumns="true" reorderableColumns="true">
<p-column header="Status">
<ng-template pTemplate="body">
<span [hidden]=true>Object Change</span>
<span >Not Change</span>
</ng-template>
</p-column>
<p-column field="firstName" header="First Name" [editable]="true"></p-column>
<p-column field="lastName" header="Last Name" [editable]="true"></p-column>
<p-column field="age" header="Age" [editable]="true">
<ng-template let-col let-car="rowData" pTemplate="editor">
<select class="form-control" [(ngModel)]="car[col.field]">
<option [value]=12>12</option>
<option [value]=14>14</option>
<option [value]=23>23</option>
</select>
</ng-template>
</p-column>
</p-dataTable>
<p>{{persons | json}}</p>
我将primeng datatable列设置为true,以便用户可以编辑表中的数据。现在,我想检测每个对象是否已更改。如果对象已经改变,我想要&#34;状态&#34;列设置为&#34;对象更改&#34;。我想在数组中的每个对象中应用此条件。有没有办法检测数组中每行/对象的更改。我为此创建了一个plunkr。 http://plnkr.co/edit/x8Sdgz?p=preview
答案 0 :(得分:0)
可能的解决方案是替换
[(ngModel)]="car[col.field]"
通过
[ngModel]="car[col.field]" (ngModelChange)="onCarChange($event)"
这样你可以附加你想要的任何逻辑
答案 1 :(得分:0)
我将检测该领域的变化。如果要拦截任何字段上的每个更改,您必须在数据表中的每一列上使用相同的模式(ng-template)。
亲切的问候