echarts主题切换、全局配置主题文件切换颜色、深色主题、浅色主题

这几天在做echarts主题切换,顺手记录一下

echarts在切换主题之后,cavans得重新绘制,所以在每个echarts组件里要写很多这种代码

 legend: {
    color:sideTheme == 'theme-dark'?'#000':'#fff'
}

想了想觉得很麻烦,参考了下官网的主题配置,最终决定全局配置主题

主题编辑器 - Apache ECharts

 先在官网配置好想要的主题

 配置好之后选择下载主题,选择js版本下载。(json版本的复制下来用不了,我没研究出来。)

下载好之后的js文件是这样

直接运行也不行,改成这样

 

只保留最核心的注册主题的代码

echarts.registerTheme('你的主题名称' ,{}

js文件需要在main.js中引入一下

//导入全局echarts主题文件
import '@/echarts/index.js'

在echarts初始化时,将主题传进去

  charts.value = echarts.init(myCharts.value, 你的主题名称);

切换主题时,需要重新初始化,要销毁实例之后在重新init

watch(
  () => sideTheme.value,
  (value) => {
    tooltipTimer.value && tooltipTimer.value.clearLoop();
    tooltipTimer.value = null;
    charts.value.dispose(); //销毁实例  重点!!
    charts.value.clear();
    charts.value = null
    charts.value = echarts.init(myCharts.value, sideTheme.value + '-bar');
    initPage();
  }
);

用了主题文件之后,页面的echarts不要重复配置,否则会被覆盖,会没效果。

比如这个,在全局已经配置了axisLine这个项,在echarts到option里面就不要再配置了

问题:

 1、主题配置文件貌似不能给不同类型的图表配置不同的线条样式,我的bar类型和line类型的x、y轴线条样式不一样,最终只能配置了多个主题来解决

2、主题配置的配置项不是很完整,比如环形图中间的文字,还是要去环形图的echarts配置项中配置。

总得来说,还是很麻烦。。。。

如果大家有更好的方法,望告知 ^_^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值