Согласно ag-grid docs , forEachNode (обратный вызов) - это метод, который позволяет получить доступ к API узла строки.
Рассмотрим следующий сценарий:
export class AppComponent {
private gridApi;
updateItems() {
this.gridApi.forEachNode(function(rowNode, index) {
// do stuff
}
}
onGridReady(params) {
this.gridApi = params.api;
}
Согласно их примеру (см. Plunker здесь ), это допустимый код.Однако мы получаем следующую ошибку:
Аргумент типа '(rowNode: any, index: any) => void' нельзя назначить параметру типа '(rowNode: RowNode) => void'.
Теперь очевидным решением было бы удалить параметр индекса, и он работает нормально, без ошибок .Но мне нужен этот индекс.
Я заметил, что если метод вызывается в params.api , а не gridApi , работает.Я имею в виду, что INSIDE onGridReady (params) У меня может быть
onGridReady(params) {
// this.gridApi = params.api; // not needed anymore
params.api.forEachNode(function(rowNode, index) {
// do stuff
}
}
И это прекрасно работает.Чего мне не хватает?