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>
|
|