vue中使用echarts通过for循环生成多个水球图
时间: 2023-11-26 14:03:52 浏览: 118
在Vue 中实现循环渲染多个相同echarts图表
要在 Vue 中使用 for 循环生成多个水球图,你可以使用一个数组来存储水球图的数据,在 Vue 的 `mounted` 钩子函数中使用 for 循环遍历数组,并使用 Echarts 渲染每个水球图。
以下是一个示例代码:
```
<template>
<div>
<div class="chart" v-for="(item, index) in charts" :key="index" ref="charts[index]"></div>
</div>
</template>
<script>
import echarts from 'echarts'
export default {
data() {
return {
charts: [
{ percent: 50 },
{ percent: 80 },
{ percent: 30 }
]
}
},
mounted() {
this.charts.forEach((item, index) => {
const chart = echarts.init(this.$refs.charts[index])
chart.setOption({
series: [
{
type: 'liquidFill',
data: [item.percent / 100],
color: ['#00a6ff', '#71c9ff', '#c7e1ff'],
// 其他配置项
}
]
})
})
}
}
</script>
```
在这个例子中,我们使用一个数组 `charts` 来存储水球图的数据,每个数据都包含一个 `percent` 属性,表示水球图的进度。在 `mounted` 钩子函数中,我们使用 for 循环遍历 `charts` 数组,并为每个水球图渲染一个 Echarts 实例。在 Echarts 实例中,我们使用 `data` 属性传递进度数据,并根据需要设置其他配置项。
需要注意的是,在模板中使用 `v-for` 循环生成多个水球图时,我们需要使用 `ref` 属性为每个水球图的容器创建一个引用,以便在 `mounted` 钩子函数中获取每个容器的引用并进行渲染。
阅读全文