@swimlane/ngx-datatable виртуальная прокрутка работает только с кэшированными строками

@swimlane/ngx-datatable виртуальная прокрутка работает только с кэшированными строками. Кэшированные строки хранятся в массиве. В моем случае число этих строк может превышать 10 миллионов. Как не кэшировать эти строки и использовать виртуальную прокрутку?

Воспроизведение проблемы:

1) Пример текущего поведения виртуальной прокрутки без кэшированных строк: http://prntscr.com/kw9q51

2) Репо: https://github.com/DmitriyIvanko/ngx-datatable-example/blob/master/src/app/app.component.ts

0 ответов

Мое решение для взлома - имитация кэшированных строк: например, пользовательский запрос занимает: 20 строк, пропуск: 50 строк, всего строк: 100; Создайте массив 'undefined' (длиной 100) и замените 20 строк, начиная с 50-й строки;

const totalRow = 100;
const skip = 50;
const take = 20;
const serverRow = [{...}] // array of row, with length = 20;

const resultList = new Array(totalRow).fill(undefined);
resultList.splice(skip, serverRow.length, ...serverRow);

Я проверяю это решение с 10 миллионами строк, и оно работает очень быстро; Может быть, это кому-нибудь поможет.

Другие вопросы по тегам