From 254b795e2e625c050d263b8592c8e1c2839a4148 Mon Sep 17 00:00:00 2001 From: Bunny <1319900154@qq.com> Date: Wed, 26 Feb 2025 22:38:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0echarts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.ts | 4 +++- src/plugins/echarts.ts | 44 ++++++++++++++++++++++++++++++++++++++++++ src/plugins/index.ts | 2 ++ 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 src/plugins/echarts.ts diff --git a/src/main.ts b/src/main.ts index 27f5259..a55041b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -9,4 +9,6 @@ import plugins from '@/plugins'; import App from './App.vue'; -createApp(App).use(plugins).mount('#app'); +const app = createApp(App); + +app.use(plugins).mount('#app'); diff --git a/src/plugins/echarts.ts b/src/plugins/echarts.ts new file mode 100644 index 0000000..0cba96d --- /dev/null +++ b/src/plugins/echarts.ts @@ -0,0 +1,44 @@ +import { BarChart, LineChart, PieChart } from 'echarts/charts'; +import { + DataZoomComponent, + GraphicComponent, + GridComponent, + LegendComponent, + PolarComponent, + TitleComponent, + ToolboxComponent, + TooltipComponent, + VisualMapComponent, +} from 'echarts/components'; +import * as echarts from 'echarts/core'; +import { CanvasRenderer, SVGRenderer } from 'echarts/renderers'; +import type { App } from 'vue'; + +const { use } = echarts; + +use([ + PieChart, + BarChart, + LineChart, + CanvasRenderer, + SVGRenderer, + GridComponent, + TitleComponent, + PolarComponent, + LegendComponent, + GraphicComponent, + ToolboxComponent, + TooltipComponent, + DataZoomComponent, + VisualMapComponent, +]); + +/** + * @description 按需引入echarts,具体看 https://echarts.apache.org/handbook/zh/basics/import/#%E5%9C%A8-typescript-%E4%B8%AD%E6%8C%89%E9%9C%80%E5%BC%95%E5%85%A5 + * @see 温馨提示:必须将 `$echarts` 添加到全局 `globalProperties` ,具体看 https://pure-admin-utils.netlify.app/hooks/useECharts/useECharts#%E4%BD%BF%E7%94%A8%E5%89%8D%E6%8F%90 + */ +export function useEcharts(app: App) { + app.config.globalProperties.$echarts = echarts; +} + +export default echarts; diff --git a/src/plugins/index.ts b/src/plugins/index.ts index 6b23b4a..38fb6b8 100644 --- a/src/plugins/index.ts +++ b/src/plugins/index.ts @@ -12,5 +12,7 @@ export default { setupStore(app); // 设置指令 setupDirective(app); + // 根据需求引入echarts + // useEcharts(app); }, };