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

首先安装 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 组件,并分别传入不同的参数进行绘制。确保每个图表组件都有独立的引用,避免只显示一个的问题。

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

猜你喜欢

转载自blog.csdn.net/weixin_54165147/article/details/131944587