问题描述

在这里插入图片描述
vite+vue3+ts项目echarts大量数据展示使用dataZoom进行区域缩放拖动上图案例红色区域数据展示无变化,区域缩放功能失效

题解

通过查询发现vue3的问题
vue2可以chart定义data里,但在vue3中提供了refreactive等。
原先我封装echaert组件时,在setup定义echarts使用的是ref如下

const chart = ref();

通过网上查询发现ref的问题,要修改shallowRef如下

const chart = shallowRef();

标注

ref很容易理解使用ref创建对象里面任意深度属性视图都是响应性的
ref不同shallowRef修改深层属性时,并不会更新视图,因为ref方法递归遍历对象的所有属性,使所有属性都具备响应性,所以,当对象复杂且庞大时,过多的监听会导致性能上的损耗,也会对echarts页面渲染出现问题

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注