我使用基于ngrx-store架构的trackBy在PrimeNG数据表组件中使用绑定了[ngModel]的组件。 trackBy的引入解决了所有输入触发基于ngFor的数据表的重载的问题。
但是,虽然ngModel引用适用于第一次初始化,但我无法再正确访问它以更新其值。片段:
模板:
<p-dataTable [value]="(data$ | async).Channels" [rowTrackBy]="identify">
<p-column field="active" header="Active">
<template let-entry="rowData" pTemplate type="body">
<p-checkbox (click)="updateValue({channel: entry, field: 'active', value: !entry.active })" [ngModel]="entry.active" binary="true"></p-checkbox>
</template>
</p-column>
...
</p-datatable>
引用trackBy函数:
identify(index, channel) {
return channel.id;
}
!entry.active
现在总是有初始值,有什么想法吗?