vue3+ts 全局导入echarts

1.npm install echarts --save 默认就是5版本的。

2.在main.ts 中引入并挂载 vue 实例上

import * as ECharts from 'echarts'

const app = createApp(App)

app.config.globalProperties.$ECharts = ECharts

app.mount('#app')

3.在页面使用

<template>
	<div id="myChart" :style="{ width: '100%', height: '300px' }"></div>
</template>
<script lang="ts">
import { defineComponent, onMounted, getCurrentInstance } from 'vue'
export default defineComponent({
	setup() {
		const { proxy } = getCurrentInstance() as any
		// 配置建议写在 onMount 的外面
		const option = {
			tooltip: {
				trigger: 'item'
			},
			color: ['#ffd666', '#ffa39e', '#409EFF', '#69cbc2', '#d3adf7'],
			series: [
				{
					name: '访问来源',
					type: 'pie',
					radius: '70%',
					data: [
						{ value: 1048, name: '清洁能源发电区' },
						{ value: 735, name: '公共娱乐区域' },
						{ value: 580, name: '生活区域' },
						{ value: 484, name: '办公区域' },
						{ value: 300, name: '绿植空地' }
					],
					emphasis: {
						itemStyle: {
							shadowBlur: 10,
							shadowOffsetX: 0,
							shadowColor: 'rgba(0, 0, 0, 0.5)'
						}
					}
			}]
		}
		onMounted(() => {
			// 获取挂载的组件实例
			const echarts = proxy.$ECharts
			//初始化挂载
			const echarts1 = echarts.init(document.getElementById('myChart'))
			//添加配置
			echarts1.setOption(option)
			// 自适应
			window.onresize = function () {
				echarts1.resize()
			}
		})
		return {}
	}
})
</script>
要在 Vue3 + TypeScript 中画 Echarts 环形图表,可以按照以下步骤进行: 1. 安装 EchartsVue-Echarts: ``` npm install echarts vue-echarts@5.0.0-beta.5 ``` 2. 在需要使用的组件中引入 EchartsVue-Echarts: ```typescript import { defineComponent, onMounted, ref } from 'vue' import * as echarts from 'echarts' import { use } from 'echarts/core' import { CanvasRenderer } from 'echarts/renderers' import { PieChart } from 'echarts/charts' import { LegendComponent, TooltipComponent } from 'echarts/components' import VueECharts from 'vue-echarts' use([CanvasRenderer, PieChart, LegendComponent, TooltipComponent]) export default defineComponent({ components: { VueECharts }, setup() { const chartRef = ref(null) const chart = ref<echarts.ECharts | null>(null) const options: echarts.EChartsOption = { title: { text: '环形图示例' }, tooltip: { trigger: 'item', formatter: '{a} <br/>{b}: {c} ({d}%)' }, legend: { orient: 'vertical', left: 10, data: ['数据1', '数据2', '数据3', '数据4', '数据5'] }, series: [ { name: '访问来源', type: 'pie', radius: ['50%', '70%'], avoidLabelOverlap: false, label: { show: false, position: 'center' }, emphasis: { label: { show: true, fontSize: '30', fontWeight: 'bold' } }, labelLine: { show: false }, data: [ { value: 335, name: '数据1' }, { value: 310, name: '数据2' }, { value: 234, name: '数据3' }, { value: 135, name: '数据4' }, { value: 1548, name: '数据5' } ] } ] } onMounted(() => { if (chartRef.value) { chart.value = echarts.init(chartRef.value) chart.value.setOption(options) } }) return { chartRef, chart } } }) ``` 3. 在组件的模板中使用 Vue-Echarts 组件,并传入需要渲染的数据和 Echarts 实例: ```vue <template> <div> <vue-echarts :options="options" :auto-resize="true" :renderer="'canvas'" :chart="chartRef"></vue-echarts> </div> </template> ``` 这样就可以在 Vue3 + TypeScript 中画出一个简单的 Echarts 环形图表了。注意,在 setup 函数中,需要使用 `ref` 函数将 `chart` 和 `chartRef` 定义为响应式数据,并在 `onMounted` 钩子函数中初始化 Echarts 实例并设置选项。在模板中,需要将 `chartRef` 作为 `VueECharts` 组件的 `chart` 属性传入。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值