Echarts组件封装(数据、样式、配置项)

🐱 个人主页:TechCodeAI启航,公众号:SHOW科技

🙋‍♂️ 作者简介:2020参加工作,专注于前端各领域技术,共同学习共同进步,一起加油呀!

💫 优质专栏:前端主流技术分享

📢 资料领取:前端进阶资料可以找我免费领取

🔥 摸鱼学习交流:我们的宗旨是在「工作中摸鱼,摸鱼中进步」,期待大佬一起来摸鱼!

首先安装 Echarts:

npm install echarts --save

在 Vue 3 中,你可以通过封装一个组件来实现 Echarts 图表的可定制化,并且根据传入的参数绘制不同样式的图表。下面是一个简单的示例:

创建一个名为 EchartsChart 的组件:

<template>
  <div ref="chart" :style="chartStyle"></div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  props: {
    chartData: {     // 接收数据的参数
      type: Array,
      required: true
    },
    chartOptions: {     // 接收配置项的参数
      type: Object,
      required: true
    },
    chartStyle: {    // 接收样式的参数
      type: Object,
      default: () => ({ width: '400px', height: '300px' })
    }
  },
  mounted() {
    this.initChart();
  },
  methods: {
    initChart() {
      const chart = echarts.init(this.$refs.chart);
      chart.setOption(this.chartOptions);
      chart.setOption({
        series: [
          {
            type: 'bar',
            data: this.chartData
          }
        ]
      });
    }
  }
};
</script>

在需要使用图表的页面中,导入并使用 EchartsChart

<template>
  <div>
    <EchartsChart
      :chartData="data1"
      :chartOptions="options1"
      :chartStyle="style1"
    />
    <EchartsChart
      :chartData="data2"
      :chartOptions="options2"
      :chartStyle="style2"
    />
  </div>
</template>

<script>
import EchartsChart from '@/components/EchartsChart.vue';

export default {
  components: {
    EchartsChart
  },
  data() {
    return {
      data1: [120, 200, 150, 80, 70],
      options1: {
        xAxis: {
          type: 'category',
          data: ['A', 'B', 'C', 'D', 'E']
        },
        yAxis: {},
        grid: {
          left: '10%',
          right: '10%',
          bottom: '5%',
          containLabel: true
        }
      },
      style1: { width: '400px', height: '300px' },
      data2: [50, 100, 120, 80, 90],
      options2: {
        xAxis: {
          type: 'category',
          data: ['F', 'G', 'H', 'I', 'J']
        },
        yAxis: {},
        grid: {
          left: '10%',
          right: '10%',
          bottom: '5%',
          containLabel: true
        }
      },
      style2: { width: '600px', height: '400px' }
    };
  }
};
</script>

上述示例中,EchartsChart 组件接收 chartDatachartOptionschartStyle 三个参数,分别用于传入图表的数据、配置项和样式。在 mounted 钩子函数中,通过 echarts.init 初始化图表实例,并利用传入的参数进行绘制。

在需要使用图表的页面中,可以多次调用 EchartsChart 组件,并分别传入不同的参数进行绘制。确保每个图表组件都有独立的引用,避免只显示一个的问题。

请注意,上述示例仅提供了基本的封装思路,具体的数据、配置项和样式需要根据自己的实际需求进行调整。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue中封装Echarts有多种方式。一种方式是在main.js中引入Echarts并将其挂载到Vue的原型上,这样在任何组件中都可以通过this.$echarts来使用Echarts[1]。另一种方式是按需引入Echarts的模块,只引入需要使用的功能模块。具体步骤如下: 1. 安装Echarts:在终端中运行命令`npm i echarts --save`来安装Echarts。 2. 引入Echarts:在需要使用Echarts的.vue文件中,使用以下语句引入Echarts: ```javascript import echarts from 'echarts' ``` 3. 使用Echarts:在组件中使用Echarts的方式有多种。以下以在模板中使用Echarts为例: 在模板中添加一个具有宽度和高度的div,用于显示图表: ```html <template> <div id="main" style="width: 1200px; height: 500px"></div> </template> ``` 在脚本中初始化Echarts并绘制图表: ```javascript <script> export default { mounted() { this.initEcharts(); }, methods: { initEcharts() { // 在组件中直接使用this.$echarts来进行操作 var myChart = this.$echarts.init(document.getElementById("main")); // 指定图表的配置数据 var option = { title: { text: "ECharts 入门示例", }, tooltip: {}, legend: { data: ["销量"], }, xAxis: { data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], }, yAxis: {}, series: [ { name: "销量", type: "line", data: [5, 20, 36, 10, 10, 20], }, ], }; // 使用刚指定的配置数据显示图表 myChart.setOption(option); }, }, }; </script> ``` 通过以上步骤,你就可以在Vue中成功封装Echarts并使用它了。 除了以上方式,还可以将Echarts封装成Vue的插件。这种方式可以更好地复用和扩展Echarts的功能。详细的插件封装步骤超出了本次回答的范围,你可以参考Echarts的官方文档或查找相关教程来了解更多关于插件封装的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值