Я предполагаю, что это потому, что вы обрабатывали подсветку строк в хуке жизненного цикла ngOnInit
или в событии ag-grid gridReady
. Оба события не подходят, так как ловушка ngOnInit
запускается, когда инициализация завершена, и gridReady
запускается, когда сама сетка готова (но данные еще не обработаны).
Поэтому, чтобы быть в безопасности и предполагая, что вы хотите обработать выделение при загрузке, вы должны использовать вместо этого событие firstDataRendered
.
Для вашего случая вы можете связать firstDataRendered
событие некоторого метода, такого как onFirstDataRendered
. Кроме того, убедитесь, что rowSelection
привязан к multiple
, чтобы разрешить множественный выбор.
<ag-grid-angular
(firstDataRendered)="onFirstDataRendered($event)"
[rowSelection]="'multiple'"
// other events and props
></ag-grid-angular>
И в ваших component.ts,
onFirstDataRendered(params) {
let len = tempSelected.length;
this.gridApi.forEachNode(node => {
for (let i=0; i<len; i++) {
if(node.id === tempSelected[i]){
node.setSelected(true);
}
}
});
}
Я создал демоболее здесь .