У меня есть такой компонент aggrid:
private gridOptions = {
columnDefs: this.columnDefs,
frameworkComponents: { buttonRenderer: ButtonRenderer},
pagination: true,
paginationPageSize: 20,
cacheBlockSize: 20,
// server side paging
rowModelType: 'infinite',
datasource: this.dataSource
};
private dataSource: IDatasource = {
getRows: (params: IGetRowsParams) => {
var query = { startrow: params.startRow,
endrow: params.endRow,
company_name: this.companyName,
company_address: this.companyAddress,
company_capital: this.companyCapital
};
this.http.post(environment.api_url + "/register/search",query).subscribe((results:any) => {
params.successCallback(results.data, results.totalRecords);
this.gridApi.refresh();
});
}
};
При первой загрузке aggrid он отображается нормально. Если я нажимаю следующую страницу, я получаю эту ошибку:
Ошибка: «ag-Grid: невозможно получить сетку для рисования строк, когда она находится в середине рисования строк. Ваш код, вероятно, вызвал метод API сетки, пока сетка находилась в стадии рендеринга. Чтобы преодолеть это, поместите вызов API в тайм-аут, например, вместо api.refreshView (), вызовите setTimeout (function () {api.refreshView (), 0}). Чтобы увидеть, какая часть вашего кода, который вызвал refre sh, проверьте эту трассировку стека. "
Есть ли какой-нибудь пример для ссылки? Я искал вокруг, но у всех, кажется, все в порядке без этой проблемы.
Кстати: я использую angular 8, aggrid 22.1.1