feat(echarts): add getInstance for useECharts

为useECharts添加getInstance以便绑定事件或执行更多自定义动作
This commit is contained in:
无木 2021-06-04 17:22:06 +08:00
parent 46899aa3cd
commit fb6c76db53
1 changed files with 16 additions and 10 deletions

View File

@ -23,8 +23,7 @@ export function useECharts(
resizeFn = useDebounceFn(resize, 200); resizeFn = useDebounceFn(resize, 200);
const getOptions = computed( const getOptions = computed((): EChartsOption => {
(): EChartsOption => {
if (getDarkMode.value !== 'dark') { if (getDarkMode.value !== 'dark') {
return cacheOptions.value; return cacheOptions.value;
} }
@ -32,8 +31,7 @@ export function useECharts(
backgroundColor: 'transparent', backgroundColor: 'transparent',
...cacheOptions.value, ...cacheOptions.value,
}; };
} });
);
function initCharts(t = theme) { function initCharts(t = theme) {
const el = unref(elRef); const el = unref(elRef);
@ -100,9 +98,17 @@ export function useECharts(
chartInstance = null; chartInstance = null;
}); });
function getInstance(): echarts.ECharts | null {
if (!chartInstance) {
initCharts(getDarkMode.value as 'default');
}
return chartInstance;
}
return { return {
setOptions, setOptions,
resize, resize,
echarts, echarts,
getInstance,
}; };
} }