Browse Source

fix: fix renderEcharts refresh issue (#4741)

pull/4747/head
zhou 1 year ago
committed by GitHub
parent
commit
d7d7466524
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 11
      packages/effects/plugins/src/echarts/use-echarts.ts

11
packages/effects/plugins/src/echarts/use-echarts.ts

@ -31,12 +31,11 @@ function useEcharts(chartRef: Ref<EchartsUIType>) {
const getOptions = computed((): EChartsOption => { const getOptions = computed((): EChartsOption => {
if (!isDark.value) { if (!isDark.value) {
return cacheOptions; return {};
} }
return { return {
backgroundColor: 'transparent', backgroundColor: 'transparent',
...cacheOptions,
}; };
}); });
@ -52,10 +51,14 @@ function useEcharts(chartRef: Ref<EchartsUIType>) {
const renderEcharts = (options: EChartsOption, clear = true) => { const renderEcharts = (options: EChartsOption, clear = true) => {
cacheOptions = options; cacheOptions = options;
const currentOptions = {
...options,
...getOptions.value,
};
return new Promise((resolve) => { return new Promise((resolve) => {
if (chartRef.value?.offsetHeight === 0) { if (chartRef.value?.offsetHeight === 0) {
useTimeoutFn(() => { useTimeoutFn(() => {
renderEcharts(getOptions.value); renderEcharts(currentOptions);
resolve(null); resolve(null);
}, 30); }, 30);
return; return;
@ -67,7 +70,7 @@ function useEcharts(chartRef: Ref<EchartsUIType>) {
if (!instance) return; if (!instance) return;
} }
clear && chartInstance?.clear(); clear && chartInstance?.clear();
chartInstance?.setOption(getOptions.value); chartInstance?.setOption(currentOptions);
resolve(null); resolve(null);
}, 30); }, 30);
}); });

Loading…
Cancel
Save