tabulator - 是否可以通过回调添加行数据到制表符
问题描述
我需要一个表来显示已经在内存中创建的数组中的大约 250 万行。当我创建表并将数组添加到“数据”属性时,浏览器引擎会在一段时间(相当长的时间)后耗尽内存。我假设 tabulator 不仅为当前的虚拟 DOM 部分创建对象,而且为数组中的每个条目提前创建对象。所以问题是:是否可以不提供整个数组,而只提供行数,并让制表器仅在需要渲染时通过回调询问每一行的内容。当然,只有当制表器不保留任何看不见的行数据时,它才有意义。我知道这可能与某些列计算功能或其他功能相冲突,但这对我的用例来说很好。
相同的用例正在使用我之前尝试过的 canvas-datagrid。
解决方案
渐进式加载是一种选择,但您仍然会遇到内存中有两个数据副本的问题。如果在“加载”模式下会自动发生,或者在滚动表格时手动在“滚动”模式下发生。最好的选择似乎是通过一个按钮来编写代码,该按钮使用setData()
或加载数据replaceData()
。然后用户可以批量获取下一组或上一组数据。
推荐阅读
- python - 减慢图像创建数学
- broadleaf-commerce - XSRF 令牌不匹配
- java - 应用打开时如何连接 Google Play 服务?
- linux - 如何通过替换为空页面的映射来取消映射 mmap 文件
- netsuite - NetSuite SuiteScript 2.0 如何在 N/search create API 中指定字段、子列表字段或子记录字段
- java - 如何在 Drools 中编写有状态和基于时间的规则?
- c# - 如何在 Parallel.Foreach c# 中使用内部并行循环?
- arrays - F# 使用 .[] 运算符作为函数
- angularjs - AngularJS 等到元素完全加载
- go - ios 日志中出现的字符是否有术语,如`\MC\M-6` 或`\134`