30 秒看懂
  • 💡 简介:最近在做可视化项目
  • 发现 ECharts 原来在 Vue3 + TS 里用起来这么顺
  • 不仅有官方类型支持

🔥前端必看!Vue3 + TypeScript 项目也能优雅用上 ECharts,图表类型提示超丝滑!

热点解释
john
john 在知识的海洋中遨游

0 人认可了这条内容 · 1114 浏览

💡 简介:

最近在做可视化项目,发现 ECharts 原来在 Vue3 + TS 里用起来这么顺!不仅有官方类型支持,连 option 配置都能自动补全、报错提示贼强!适合做仪表盘、折线图、K线图、地图都不在话下~
顺手封装个组件,代码整洁还高复用,真的太爱了!

Vue 3 + TypeScript 项目中是完全可以使用 ECharts 的,并且有良好的类型支持。ECharts 从 v5 开始已经提供了完整的 TypeScript 类型定义,因此在 Vue3 项目中可以很好地结合使用。


✅ 一、安装 ECharts

在你的 Vue3 + TS 项目中执行:

bash
npm install echarts

✅ 二、基础用法示例(Vue3 + TS)

1. 创建组件 EchartDemo.vue

vue
<template> <div ref="chartRef"></div> </template> <script lang="ts" setup> import * as echarts from 'echarts' import { onMounted, ref, onBeforeUnmount } from 'vue' const chartRef = ref<HTMLElement | null>(null) let myChart: echarts.ECharts | null = null onMounted(() => { if (chartRef.value) { myChart = echarts.init(chartRef.value) const option: echarts.EChartsOption = { title: { text: '折线图示例' }, tooltip: {}, xAxis: { data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: {}, series: [ { name: '销量', type: 'line', data: [150, 230, 224, 218, 135, 147, 260] } ] } myChart.setOption(option) } }) onBeforeUnmount(() => { if (myChart) { myChart.dispose() } }) </script>

✅ 三、类型提示支持

  • echarts.EChartsOption:是官方的配置项类型(强类型校验)。

  • 所有组件、图表类型等都有完整的类型提示,使用更安全、更方便。


✅ 四、常见建议

  • 封装成组件:可以封装一个通用的 <BaseChart /> 组件,接收 optiontheme 等参数。

  • 自适应窗口大小:监听 resize 调用 chart.resize()

  • 异步数据更新:在 watch 中更新 chart.setOption() 即可。


✅ 五、官方文档与类型支持


✅ 六、TSX / Vue+TS 开发推荐用法

对于严格类型项目,也可以导出 chart 实例并使用组合式 API 控制生命周期和数据更新,非常适合复杂交互。  

下一步阅读
相关文章
超实用!GPT-4粉必看的网站推荐,让你的学习和工作事半功倍!
姐妹们,最近我发现了一些超级棒的GPT-4网站,简直就是学习和工作的神器!😆 无论是写作、学习新...

发布于 2025-05-21 10:09

免责声明:

本文由 john 原创或转载,著作权归作者所有,如有侵权,请联系我们删除。 info@frelink.top

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论

公告与更新

关于本站
欢迎来到创想引擎,一个为创意和思想提供源源不断动力的创新平台。在这里,每个人的灵感都能迅速转化为行动,每个创意都能在思想的碰撞中飞速发展。我们相信,创想不仅仅是灵感的闪现,更是一次次打破常规、突破极限的动力释放。创想引擎致力于为用户提供一个开放、自由的创意空间,汇聚多元化的知识和观点。在这个平台上,...

核心主题

AIGC

Docker

大模型

github使用

威联通NAS

这是自定义内容