原因是echarts开始是根据你定义的div大小来加载的,如果div隐藏了就找不到对应的大小,比例会变小

我的项目里使用iview的tabs组件切换的,所以可以用tabs的on-click方法判断当前tabPane的name,然后再执行echarts的方法

如果没有用框架的话,那么可以给对应的显示的内容加一个标识,判断是否显示,然执行echarts方法,或者直接用js隐藏显示。

统一的思路就是必须有div显示,echarts才能找到对应的大小,才能正确执行方法。

vue使用v-if控制的话会出现init dom的问题,因为我要来回切换所以不能用v-if,就用v-show,使用v-show会出现切换后宽度变成了100px,高度0px就这麻烦了。

解决办法:加个定时器setTimeOut(()=>{

//加载echarts的代码

}.1000)

简单粗暴

Logo

前往低代码交流专区

更多推荐