动态调整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
作者
卑微幻想家
发布于
2023-06-13
许可协议