首页 前端知识 Vue2或Vue3 echarts公共组件

Vue2或Vue3 echarts公共组件

2024-05-10 22:05:10 前端知识 前端哥 286 744 我要收藏

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、为什么要封装Echarts(背景)
    • 如下图所示(会使用到很多的图表):
  • 二、封装Echarts公共组件的步骤
    • 第一步:如何在Vue3中使用Echarts? 点击??
    • 第二步:如何创建Echarts组件 第一步的?
      • 1.创建一个Echars组件(TypeScript):
        • 代码如下(可以直接CV到组件里面)
      • 2.需要转化的数据格式如下
        • 这里的数据主要是mock(自行定夺使用)
      • 3.写一个对步骤二数据转化的公共方法
        • 代码如下
        • 代码说明,如下图所示
      • 4.写一个公共的方法(创建图标的Options):
        • 代码说明:
        • 代码如下
      • 5.在组件中使用如下(这一步Echarts准备工作基本已经完成):
        • 使用代码如下
  • 三、效果图如下所示
    • 效果如下图
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

第一:涉及到数据部分数据结构的转化(前端?‍?|?‍?也要会一些常规的数据转化|不要想着都让后端?‍?|?‍?做)
第二:主要是对Echarts 的一个公共封装,暴露给外部一个options 的Props传值
第三:可以自己在转化数据结构的时候,自行配置展示什么类型的图表

一、为什么要封装Echarts(背景)

2022年做的一个中台项目中,频繁的会使用Echarts的图标做一些数据的展示,所以就想到了可以对Echars图标组件做一层封装,这样就不用每次都重新引入 echarts 然后写一堆的 init 和resize调整方法,考虑到可以直接传递参数就好!!

如下图所示(会使用到很多的图表):

在这里插入图片描述

二、封装Echarts公共组件的步骤

第一步:如何在Vue3中使用Echarts? 点击??

Vue3中使用Echarts?

第二步:如何创建Echarts组件 第一步的?

第一步:创建一个Echarts组件,预留一个props的传值入口
第二步:创建一个生成 options 的公共方法
第三步:在第二步里面对,请求来的数据进行一个【数据格式的转化】
第四步:批量使用Echarts图表

1.创建一个Echars组件(TypeScript):

代码如下(可以直接CV到组件里面)
<template>
<div
class="echart-box"
style="width: 100%; height: 100%; min-height: 200px"
>
<div class="box-echarts" style="width: 100%; height: 100%;" ref="ech"></div>
</div>
</template>
<script setup lang="tsx">
import {
ref, computed, onMounted } from "vue";
import * as echarts from "echarts";
import {
message } from "ant-design-vue";
interface Props {
options: ECOption;
}
type ECOption = echarts.ComposeOption<
| echarts.BarSeriesOption
| echarts.LineSeriesOption
| echarts.TitleComponentOption
| echarts.TooltipComponentOption
| echarts.GridComponentOption
| echarts.DatasetComponentOption
>;
const props = withDefaults(defineProps<Props>(), {
options: () => ({
title: {
text: "ECharts 入门示例",
},
tooltip: {
},
xAxis: {
data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
},
yAxis: {
},
复制
转载请注明出处或者链接地址:https://www.qianduange.cn//article/7994.html
标签
评论
还可以输入200
共0条数据,当前/页
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

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