vue循环生成3个echarts图表,每个图表中都有年月日的按钮可以分别点击查询,在点击按钮的时候查询对应的图表数据
时间: 2024-02-17 08:04:28 浏览: 87
vue+element中echarts图表,下面明细表格动态生成表格的行与列,表头实现斜线/斜杠,监听左侧菜单栏实现图表自适应
5星 · 资源好评率100%
好的,我理解了你的问题。针对你的需求,我可以给你一些思路来实现这个功能:
1. 首先,在 Vue 中使用 v-for 循环生成 3 个 Echarts 组件,每个组件都需要绑定不同的数据和配置。
2. 在每个 Echarts 组件中,可以添加一个按钮组件,用来选择查询的时间范围。按钮组件可以使用 element-ui 或者其他 UI 框架中的组件来实现。
3. 当用户点击按钮时,可以使用 axios 或者其他的 HTTP 请求库向后端发送请求,获取对应时间范围内的数据。
4. 在获取到数据后,需要更新对应的 Echarts 组件的数据和配置,以显示最新的图表。
下面是一个简单的示例代码,供你参考:
```
<template>
<div>
<div v-for="(chart, index) in charts" :key="index">
<el-button-group>
<el-button @click="fetchData(chart, 'day')">按天</el-button>
<el-button @click="fetchData(chart, 'month')">按月</el-button>
<el-button @click="fetchData(chart, 'year')">按年</el-button>
</el-button-group>
<v-chart :options="chart.options" :data="chart.data" />
</div>
</div>
</template>
<script>
import axios from 'axios';
import { Chart } from 'echarts';
import VChart from 'vue-echarts';
export default {
components: {
VChart
},
data() {
return {
charts: [
{
options: {
// Echarts 配置
},
data: []
},
{
options: {
// Echarts 配置
},
data: []
},
{
options: {
// Echarts 配置
},
data: []
}
]
};
},
methods: {
fetchData(chart, type) {
axios.get(`/api/${type}`).then(response => {
chart.data = response.data;
});
}
}
};
</script>
```
在上面的代码中,我们使用了 element-ui 中的按钮组件来选择时间范围,使用了 axios 发送 HTTP 请求来获取数据,使用了 vue-echarts 来渲染图表。你可以根据自己的需求进行修改和完善。
阅读全文