@swimlane/ngx-datatable 虚拟滚动仅适用于缓存的行



@swimlane/ngx-datatable 虚拟滚动仅适用于缓存的行。缓存的行保留在数组中。就我而言,该行的数量可以超过 1000 万。如何不缓存该行并使用虚拟滚动?

重现问题:

1( 没有缓存行的当前行为虚拟滚动示例:http://prntscr.com/kw9q51

2(回购:https://github.com/DmitriyIvanko/ngx-datatable-example/blob/master/src/app/app.component.ts

我的黑客解决方案是模拟缓存的行: 例如,用户请求获取:20 行,跳过:50 行,总行数:100; 创建"未定义"数组(长度为 100(,并从第 50 行开始替换 20 行;

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);

我用 1000 万行检查了这个解决方案,它的工作速度非常快; 也许这会帮助某人。

最新更新