我在我的一个组件的 p-dialog 中显示了一个 p-datatable。如果用户之前从该表中选择了几行,我需要在用户下次访问 p-dialog 时显示它们被选中。
我将一组选定项目传递给selection
p 数据表的属性。但是,这些行未在屏幕上显示为选中状态。
如果我重新选择相同的行,我会在selection
属性中获得两次,这意味着预先选择的行正确地保留在selection
属性中,但不知何故未绑定到html
.
我试图将整个 p-dialog 包装在一个*ngIf
期望它仅在收到数据后才创建但它没有任何区别。
我该怎么做才能将选定的行绑定到 p 数据表。
<div *ngIf="data && data.length" class="col-sm-12">
<p-dataTable #ListRef [value]="data" rowHover="true" [multiSortMeta]="multiSortMeta" (onRowSelect)="onSelect($event)" [(selection)]="selectedData" (onRowUnselect)="onUnSelect($event)">
<p-column field="launchDate" header="Launch Date" [sortable]="true"></p-column>
<p-column field="endDate" header="End Date" [sortable]="true"></p-column>
</p-dataTable>
</div>
我还尝试使用获取引用ViewChild
并将值分配给selection
那里的属性。那也没什么区别。
data
但是,我注意到,如果我的方法中有并且selectedData
已经可用,则问题不会出现ngOnInit
。
有任何想法吗 ?