动态调整echarts为深色模式
最新在迁移博客主题halo-theme-fluid,其中分类列表和标签列表想用echarts图表进行展示,但是在切换主题自带的深色背景时,echarts并没有改变。其实echarts是自带深色主题的,可以在初始化的时候指定:
echarts.init(document.getElementById('categoryChart'),'dark');
但是,怎么变成明亮模式呢?可以调用dispose()
方法,重新对图表进行渲染。
// 释放资源
myChart.dispose();
// 重新渲染图表
myChart = echarts.init(document.getElementById('categoryChart'),'light');
myChart.setOption(option);
但是如果切换模式的位置和图表不在同一个页面怎么办呢?这时候可以用自定义事件的方法进行处理。
const customEvent = new CustomEvent('themeEvent', {
detail: {
theme: current
}
});
document.dispatchEvent(customEvent);
其中current为当前的模式,如:‘dark’
在图表的页面可以这样处理
document.addEventListener('themeEvent',function (e){
// 释放资源
myChart.dispose();
// 重新渲染图表
myChart = echarts.init(document.getElementById('categoryChart'),e.detail.theme);
myChart.setOption(option);
})
动态调整echarts为深色模式
https://www.zhaojun.inkhttps://www.zhaojun.ink/archives/change-echarts-theme