点击切换数据

点击按钮切换echarts图标样式:

renderChart 函数来初始化 ECharts 图表,需要在 switchTable 函数中修改图表的 option 并重新设置给图表实例。

<template>  
  <BasicModal @register="registerModal">  
    <div id="chart" style="width: 100%; height: 400px"></div>  
    <button @click="switchChartType">切换</button>  
  </BasicModal>  
</template>  
  
<script lang="ts" setup>  
import { BasicModal, useModalInner } from '/@/components/Modal';  
import * as echarts from 'echarts';  
  
let myChart: echarts.ECharts | null = null;  
  
const [registerModal] = useModalInner((data) => {  
  if (!myChart) {  
    const chartDom = document.getElementById('chart')!;  
    myChart = echarts.init(chartDom);  
    initialChart(data.chartData);  
  } else {  
    // 如果需要基于新数据重新渲染图表,可以在这里调用 updateChart(data.chartData);  
    // 但在这个场景中,我们假设只在首次加载时设置图表数据  
  }  
});  
  
function initialChart(chartData) {  
  const option = {  
    xAxis: {  
      type: 'category',  
      data: chartData.dateList,  
      name: '推送时间', // 设置x轴名称  
    },  
    yAxis: {  
      type: 'value',  
      name: '推送数据量', // 设置y轴名称  
    },  
    series: [  
      {  
        data: chartData.amountList,  
        type: 'bar', // 初始类型设置为柱状图  
      },  
    ],  
  };  
  myChart.setOption(option);  
}  
  
let currentChartType = 'bar'; // 当前图表类型  
  
function switchChartType() {  
  currentChartType = currentChartType === 'bar' ? 'line' : 'bar';  
  if (myChart) {  
    myChart.setOption({  
      series: [  
        {  
          data: myChart.getOption().series[0].data, // 使用当前的数据  
          type: currentChartType, // 更新图表类型  
        },  
      ],  
    });  
  }  
}  
</script>
posted @ 2024-09-09 17:34  燕子去了  阅读(6)  评论(0编辑  收藏  举报

Powered by .NET 8.0 on Kubernetes

我会翻山越岭,到每一个我想去的地方

...