数据大屏:ECharts 图表采用局部刷新策略
组件封装与局部刷新:src/components/echart/index.vue中实现了优化的图表组件
-
watch: { options: { handler (options) { // 设置true清空echart缓存,只更新变化的数据 this.chart.setOption(options, true) }, deep: true } }myChart.on("mouseover", (params) => { this.clearData(); // 鼠标悬停时清除定时器 }); myChart.on("mouseout", (params) => { this.timer = setInterval(looper, this.$store.state.setting.echartsAutoTime); });1
2
3
4
5
- 通过**深度监听 options 变化,仅更新修改的数据部分**,**避免全量重绘**
- **事件交互优化**:在图表组件中(如right-top.vue)处理鼠标交互时暂停轮询- 避免交互时的数据更新冲突,保持界面流畅
- 数据分片与按需渲染:在处理大量数据时(如报警记录),通过分页加载(
limitNum: 50)控制单次渲染数据量,避免一次性渲染过多数据导致的卡顿



