Преглед изворни кода

fix: auto resize echart on menu collapsed, fixed #2265

无木 пре 2 година
родитељ
комит
e962fa039a
1 измењених фајлова са 8 додато и 0 уклоњено
  1. 8 0
      src/hooks/web/useECharts.ts

+ 8 - 0
src/hooks/web/useECharts.ts

@@ -8,12 +8,14 @@ import { useEventListener } from '/@/hooks/event/useEventListener';
 import { useBreakpoint } from '/@/hooks/event/useBreakpoint';
 import echarts from '/@/utils/lib/echarts';
 import { useRootSetting } from '/@/hooks/setting/useRootSetting';
+import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
 
 export function useECharts(
   elRef: Ref<HTMLDivElement>,
   theme: 'light' | 'dark' | 'default' = 'default',
 ) {
   const { getDarkMode: getSysDarkMode } = useRootSetting();
+  const { getCollapsed } = useMenuSetting();
 
   const getDarkMode = computed(() => {
     return theme === 'default' ? getSysDarkMode.value : theme;
@@ -98,6 +100,12 @@ export function useECharts(
     },
   );
 
+  watch(getCollapsed, (_) => {
+    useTimeoutFn(() => {
+      resizeFn();
+    }, 300);
+  });
+
   tryOnUnmounted(() => {
     if (!chartInstance) return;
     removeResizeFn();