我需要一个表,该表显示内存中已创建的数组中约250万行。当我创建表并将数组添加到'data'属性时,浏览器引擎会在一段时间(大量)后耗尽内存。我假设制表符不仅为当前的虚拟DOM部分创建对象,而且还为数组中的每个条目预先创建对象。 所以问题是: 是否可能不提供整个数组,而仅提供行数,并且让制表器仅在需要渲染时才通过回调请求每行的内容。当然,只有制表符不保留行不可见的任何数据才有意义。 我知道这可能与某些列计算功能或其他某些功能冲突,但这对我的用例来说是很好的。
同一个用例正在使用canvas-datagrid,这是我之前尝试过的。
答案 0 :(得分:0)
如果可以使用Ajax来获取数据,则可以使用渐进式Ajax加载,它可以帮助您使用分页模块加载数据,以对一系列数据集进行一系列请求,一次一次,将其追加到数据到达时的表格。 Doc在这里:http://tabulator.info/docs/4.3/data#ajax-alter
答案 1 :(得分:0)
可以选择进行渐进式加载,但是您仍然会遇到以下问题:内存中将有两个数据副本。如果是在“加载”模式下,它将自动发生,或者在表中滚动时,会在“滚动”模式下手动发生。最好的选择似乎是通过使用setData()或replaceData()加载数据的按钮来编写代码。然后,用户可以批量获取下一组或上一组数据。