解决Spreadjs绘制单元格区域时延迟卡顿的问题

解决Spreadjs绘制单元格区域时延迟卡顿的问题

思路

  • spreadjs在绘制一块单元格区域或者更改单元格区域样式时,在底层实现上都是都过循环每个单元格来实现的;
  • 若一次性要操作的单元格过多,spreadjs默认是更改一个单元格的样式就重绘一次canvas,渲染的成本是非常高的;
  • spreadjs提供了在操作数据过程中暂停绘制表格的api,在操作数据之后可以重绘canvas

DEMO

/**
* @param spread 获取到的spreadjs的实例对象
*/
spread.suspendPaint()  //暂停绘制
//操作
spread.getActiveSheet().getRange(0,0,20,100).foreColor = "red"

spread.resumePaint() //继续绘制

总结

  • 操作js的成本要远远小于操作DOM的成本
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页