您好!您对于导致删除性能较差的原因的理解与我们一样,是正确的。并非上述方法失效了,我们在18楼向您提供的解决方案正是在vue2中使用上述方法优化的,性能有所提升,但很有限。根据您提供的场景信息,我们测试的数据量是40000条,且您提供的源代码中存在公式设置,规模为40000*8个单元格。当删除一行时,被删除行下面的单元格需要逐一调整公式,在这样的情况下,目前性能提升的程度是合理的。
如果您的实际业务需要使用到列公式,可以参考如下代码取代setFormula设置公式,可以在一定程度上再提升性能:
- window.cache = window.cache || {};
- if(!window.cache[formula]){
- console.log(formula, col);
- window.cache[formula] = formula;
- sheet.getRange(1,col,sheet.getRowCount()-1,1).formula(formula,true);
- }
复制代码
就当前了解的业务场景,目前已向您提供了优化方案。经过我们在vue2和vue3框架中使用您提供的demo测试后,发现在vue3中的优化方案的效果更好,所以建议您在满足开发条件的情况下可以使用vue3框架。由于我们并不了解您的业务,也不是vue3框架的研发团队,并不能确保vue3框架是否完全满足您的开发需要,需要您自行斟酌。
|