找回密码
 立即注册

QQ登录

只需一步,快速开始

miSpreadjs

注册会员

20

主题

50

帖子

190

积分

注册会员

积分
190
miSpreadjs
注册会员   /  发表于:2023-7-3 16:27  /   查看:1180  /  回复:1
20w行数据时,设置行hover状态时,渲染慢

代码如下:
  1. var sheet = spread.getSheet(0);
  2.         sheet.setRowCount(200000)
  3.                 sheet.suspendPaint();
  4.                     const start = new Date().getTime();
  5.             const cfs = sheet.conditionalFormats;
  6.             const rowCount = sheet.getRowCount();
  7.             const columnCount = sheet.getColumnCount();
  8.             cfs.addRowStateRule(GC.Spread.Sheets.RowColumnStates.hover, new GC.Spread.Sheets.Style('#f4f5f5'), [
  9.             new GC.Spread.Sheets.Range(0, 0, rowCount, columnCount),
  10.             ]);
  11.             console.log('duration updateStyle01', new Date().getTime() - start);
  12.             sheet.resumePaint();
复制代码
平均耗时1s,有没有优化空间
image.png268467101.png 【】

1 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-3 17:31:29
沙发
您好,受前端性能限制,在大数据量的情况下进行操作的时候是会对性能造成一定的影响的,您的设置行列状态的代码已经是最佳实践了,就目前来说没有进一步的优化空间。

我这边在v16版本中测试了一下,发现只有第一次加载的时间较长,第二次及以后的加载时间就很快,如果涉及到频繁设置行列状态又不想过多的影响性能,建议您升级到v16版本以满足您的需求。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部