Изменение размера страницы и блока кэша в ag-grid приводит к бесконечной загрузке элементов - PullRequest
0 голосов
/ 21 июня 2019

Я хочу обновить данные для каждой страницы, используя режим ag-grid «на стороне сервера». Для этого я сделал maxBlocksInCache 1 и cacheBlockSize равными элементам на страницу. Пока здесь не работает нормально.

Теперь, когда я изменяю количество элементов на странице, сетка начинает зацикливаться на себе, выбирая данные. Я предполагаю, что это потому, что cacheBlockSize не изменяется или изменяется после попытки повторного извлечения строк (которые никогда не заканчиваются).

Теперь я попытался поместить кэш в качестве входных данных вместо agGridOption, но это ничего не изменило.

<select #paginationSelect (change)="onPageSizeChanged(paginationSelect.value)" [(ngModel)]="itemsPerPage">
    <option [value]="item">2</option>
    <option [value]="item">10</option>
</select>
<ag-grid-angular
        [gridOptions]="gridOptions"
        [cacheBlockSize]="itemsPerPage"
        style="width: 100%; height: 250px;">
</ag-grid-angular>
this.gridOptions = {
            ...
            rowModelType: 'serverSide',
            pagination: true,
            paginationPageSize: this.itemsPerPage, // itemsPerPage is a class attribute attached to a select element using ngModel.
            maxBlocksInCache: 1,
            ...
}

// function called on change of select element value representing the number of items to display per page
onPageSizeChanged(newPageSize) {
        this.gridApi.paginationSetPageSize(newPageSize);
    }

Я хочу иметь возможность динамически изменять размер элементов страницы, сохраняя при этом повторное получение данных при изменении страницы.

...