背景
echarts 不封装也没事,只是每次都要写一些配置,而且还需要重复写 resize 监听。
封装一个基础的 echarts 组件比较好。
这里探讨下有哪些方案选择。
方案
1、方案 1
- 新增 echarts.js 配置组件,主要是配置按需引入需要的组件,并导出。
- 封装一个 BaseEcharts.vue 组件,传入 options 即可(组件自带 resize 功能)
2、方案 2
直接使用开源项目:vue-echarts
缺点:
- 每次使用的时候,代码都要写一堆导入的代码
- 虽然可以通过 options 使用import code generator 生成,但是要先导入看到效果才知道 options 写的对不对,不是吗?!
3、在方案 1 的基础上,再封装一个 useEcharts,结构更清晰(推荐)
(参考:vue3+Ts 项目按需引入 Echarts,并封装成 hooks)
具体实现代码参看:https://github.com/Daotin/create-vue3-template