@ swimlane / ngx-datatable虚拟滚动仅适用于缓存的行。缓存的行保留在数组中。就我而言,该行的数量可以超过1000万。如何不缓存该行并使用虚拟滚动?
问题的重制:
1)当前行为没有缓存行的虚拟滚动示例:http://prntscr.com/kw9q51
2)回购:https://github.com/DmitriyIvanko/ngx-datatable-example/blob/master/src/app/app.component.ts
答案 0 :(得分:0)
我的黑客解决方案是模拟缓存的行: 例如,用户请求采用: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万行的解决方案,它的确非常快。 也许这会帮助某人。