一文教你如何正确封装ECharts
时间:2023-03-06 15:59
本篇文章给大家带来了关于ECharts的相关知识,其中主要跟大家聊一聊怎么封装ECharts,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。 文章的开头总是很难水的,就不多说了 本文涉及 : TypeScript、Vue3、 echarts 因为 ECharts 的使用场景及其广阔,并且定制化的场景比较多,所以就不封装可以复用的组件了,在我看来每个组件还是需要一个独立的 option ,这里仅封装更好使用的 echats 在 library.ts 中集中引入,挂载 echarts 需要用到的组件和功能 一些需要使用的类型,在这里规范 引入需要使用的功能模块,EChartsOption 类型在使用时容易报红,这里暂时用 any 这个还不错的网站,有很多示例 PPChart 我们随便拿一个来试试吧, 把配置代码复制到下面,就可以看见效果了 完毕! 感觉有帮助的话,求个小赞!!! 推荐学习:《vue.js视频教程》 以上就是一文教你如何正确封装ECharts的详细内容,更多请关注gxlsystem.com其它相关文章!目录
|--src
|--components // 组件
|--echarts // echats 封装目录
|--echarts-types.ts // 一些类型
|--library.ts // 为 echats 增加的一些功能
|--useECharts.ts // 主函数
|--EChartsComponents
|--a-echarts.vue // 组件使用
|--App.vue
代码
library.ts
import * as echarts from 'echarts/core';
import {
BarChart,
LineChart,
PieChart,
MapChart,
PictorialBarChart,
RadarChart,
ScatterChart
} from 'echarts/charts';
import {
TitleComponent,
TooltipComponent,
GridComponent,
PolarComponent,
AriaComponent,
ParallelComponent,
LegendComponent,
RadarComponent,
ToolboxComponent,
DataZoomComponent,
VisualMapComponent,
TimelineComponent,
CalendarComponent,
GraphicComponent
} from 'echarts/components';
echarts.use([
LegendComponent,
TitleComponent,
TooltipComponent,
GridComponent,
PolarComponent,
AriaComponent,
ParallelComponent,
BarChart,
LineChart,
PieChart,
MapChart,
RadarChart,
PictorialBarChart,
RadarComponent,
ToolboxComponent,
DataZoomComponent,
VisualMapComponent,
TimelineComponent,
CalendarComponent,
GraphicComponent,
ScatterChart
]);
export default echarts;
echarts-types.ts
export enum RenderType {
SVGRenderer = 'SVGRenderer',
CanvasRenderer = 'SVGRenderer'
}
export enum ThemeType {
Light = 'light',
Default = 'default',
}
useECharts.ts 主要文件
import { onMounted, onUnmounted, Ref, unref } from "vue";
import echarts from "./library";
// import type { EChartsOption } from 'echarts'
import { SVGRenderer, CanvasRenderer } from 'echarts/renderers'
import { RenderType, ThemeType } from './echarts-types'
export function useECharts(elparams: Ref
在组件中的使用
a-echarts.vue 使用,我们现在只需要去找一些 option 就可以实现不同的图表了
App.vue