首页 前端知识 vue3安装、配置echarts

vue3安装、配置echarts

2024-04-03 12:04:07 前端知识 前端哥 147 988 我要收藏

Vue3 安装并配置 ECharts

安装

npm install echarts --save
复制

新建echarts.ts文件

// /src/utils/echarts.ts
// 摘抄echarts官网:https://echarts.apache.org/handbook/zh
import * as echarts from 'echarts/core';
import {
BarChart,
// 系列类型的定义后缀都为 SeriesOption
BarSeriesOption,
LineChart,
LineSeriesOption
} from 'echarts/charts';
import {
TitleComponent,
// 组件类型的定义后缀都为 ComponentOption
TitleComponentOption,
TooltipComponent,
TooltipComponentOption,
GridComponent,
GridComponentOption,
// 数据集组件
DatasetComponent,
DatasetComponentOption,
// 内置数据转换器组件 (filter, sort)
TransformComponent
} from 'echarts/components';
import { LabelLayout, UniversalTransition } from 'echarts/features';
import { CanvasRenderer } from 'echarts/renderers';
// 通过 ComposeOption 来组合出一个只有必须组件和图表的 Option 类型
export type ECOption = echarts.ComposeOption<
| BarSeriesOption
| LineSeriesOption
| TitleComponentOption
| TooltipComponentOption
| GridComponentOption
| DatasetComponentOption
>;
// 注册必须的组件
echarts.use([
TitleComponent,
TooltipComponent,
GridComponent,
DatasetComponent,
TransformComponent,
BarChart,
LineChart,
LabelLayout,
UniversalTransition,
CanvasRenderer
]);
export default echarts;
复制

方法一:为vue实例新增echarts属性

main.ts文件配置echarts

// 核心代码
import eCharts from './utils/echarts';
const app = createApp(App);
app.config.globalProperties.$eCharts = eCharts;
复制

组件内引用

<template>
<div ref="chartEx"></div>
</template>
<script lang="ts">
import { getCurrentInstance, nextTick, ref } from 'vue';
import { ECOption } from '@/utils/echarts';
export default {
setup() {
// 获取echarts
const app: any = getCurrentInstance();
const eCharts: any = app.appContext.config.globalProperties.$eCharts;
// 基于准备好的dom,初始化echarts实例
const chartEx: any = ref(null);
const option: ECOption = {
// 配置项
};
nextTick(() => {
const myChart: any = eCharts.init(chartEx.value);
// 绘制图表
myChart.setOption(option);
});
return { chartEx };
},
};
</script>
复制

方法二:使用provide/inject传递echarts

App.vue配置

// 核心代码
import { provide } from 'vue';
import eCharts from './utils/echarts';
export default {
setup() {
// 向下传递eCharts
provide('eCharts', eCharts);
},
};
复制

组件内接收

// 核心代码
import { inject } from 'vue'
export default {
setup() {
const eCharts: any = inject('eCharts');
}
}
复制
转载请注明出处或者链接地址:https://www.qianduange.cn//article/4445.html
标签
评论
发布的文章

java解析超大json文件数据

2024-04-19 21:04:10

头歌-JavaScript基础

2024-04-19 21:04:54

C#Json序列化及反序列化

2024-04-19 21:04:40

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!