| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 | | <template> |  |   <VCharts |  |     v-if="renderChart" |  |     :option="options" |  |     :autoresize="autoResize" |  |     :style="{ width, height }" |  |   /> |  | </template> |  |   |  | <script lang="ts" setup> |  |   import { ref, nextTick } from 'vue'; |  |   import VCharts from 'vue-echarts'; |  |   // import { useAppStore } from '@/store'; |  |   |  |   defineProps({ |  |     options: { |  |       type: Object, |  |       default() { |  |         return {}; |  |       }, |  |     }, |  |     autoResize: { |  |       type: Boolean, |  |       default: true, |  |     }, |  |     width: { |  |       type: String, |  |       default: '100%', |  |     }, |  |     height: { |  |       type: String, |  |       default: '100%', |  |     }, |  |   }); |  |   // const appStore = useAppStore(); |  |   // const theme = computed(() => { |  |   //   if (appStore.theme === 'dark') return 'dark'; |  |   //   return ''; |  |   // }); |  |   const renderChart = ref(false); |  |   // wait container expand |  |   nextTick(() => { |  |     renderChart.value = true; |  |   }); |  | </script> |  |   |  | <style scoped lang="less"></style> | 
 |