echarts数据量不大,但会有卡顿,随后直接展示

今天写echarts页面发现,windows系统下图数据量只有两百多都会显示卡顿,而查看echarts官方实例,数据量四千多都正常渲染,就很郁闷
经排查,竟然是因为页面里同时渲染了图表和表格,而表格数据和echarts数据是放在接口返回结果里一起整理的,这就造成了图还没有渲染完成,就在等待表格数据渲染,因此会出现页面中看到的卡顿,然后再一次加载完成现象
解决方法
将图表数据和表格数据分开整理,谁先渲染谁先配置数据,比如我先渲染图表,我就在图标渲染完成后,在调用表格配置的函数
判断图表是否渲染完成
mounted() {
  chart.on('finished', () => {
        this.setTableData()
      })
},
methods: {
	setTableData(){...}
}
其它一些造成卡顿的优化建议
1. chart不要放在data里定义,会被vue监测数据改变而更新,造成卡顿
2. 页面销毁时beforeDestroy,清空chart,可使用chart.clear()(相当于v-show)或chart.dispose()(相当于v-if)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当使用Echarts展示大量数据时,可能会出现页面卡顿的问题。这是因为在展示大量数据时,Echarts需要处理大量的数据和绘制图表,导致页面加载时间过长、交互响应变慢甚至崩溃。[2] 有几个常见的解决方案可以缓解这个问题。首先,可以采用数据分页展示的方式,只加载当前页的数据,避免一次性加载大量数据。这样可以减少页面加载时间和内存占用,并提高用户体验。 其次,对于数据量较大的情况,可以使用降采样策略,即只保留数据的部分样本点来绘制图表。这样可以减少数据量,提高绘制效率,同时保证图表的展示效果。 另外,可以采用增量渲染的方式来加载数据,即每次只加载部分数据并进行增量渲染,避免一次性加载全部数据导致的卡顿问题。这种方式可以提高渲染效率和交互响应速度。 还有一种常见的导致卡顿的情况是由于Echarts实例在页面切换或大小变化时没有被正确销毁,导致内存占用和定时器运行。建议在页面切换或大小变化时正确销毁Echarts实例,避免资源浪费和性能问题。 总结来说,为了解决Echarts数据量卡顿的问题,可以采用数据分页展示、降采样策略、增量渲染以及正确销毁Echarts实例等方法。这些方法可以有效提高页面加载速度、减少内存占用,并提升用户体验。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值