Я пытаюсь получить базовую c серверную таблицу данных infiniteScroll. Я установил cacheBlockSize = 20 и maxBlocksInCache = 1. Чтобы он каждый раз загружал с сервера 20 записей и сохранял в кэше только одну страницу данных. Эта настройка позволяет мне увидеть, как работает загрузка данных. Он загружает первую страницу правильно в самом начале. Но когда я прокручиваю до следующих 20 записей, он должен вызвать API и загрузить новые 20 записей, а затем отобразить их на странице. Но он продолжает вызывать API снова и снова.
Я установил параметр сетки следующим образом:
gridOptions: {
headerHeight: 45,
rowHeight: 30,
rowModelType: 'serverSide',
rowSelection: 'multiple',
blockLoadDebounceMillis: 500,
cacheBlockSize: 20,
maxBlocksInCache: 1,
pagination: false,
},
Источник данных находится здесь:
export class MyDatasource implements IServerSideDatasource {
getRows(params: IServerSideGetRowsParams) {
this.searchApi.getData().subscribe(
resp => {
let lastRow = -1;
if (resp['totalRecords'] <= params.request.endRow) {
lastRow = resp['totalRecords'];
}
params.successCallback(resp['data'], lastRow);
},
error => {
params.failCallback();
console.log(error);
},
);
}
}