前端--v-for 循环 echarts折线图

html

 <div style="width: 45%;">
                    <div style="width: 100%;height: 62px;">
                        <!-- <div v-for="(item, index) in itemData" :key="index" class="gauge" :id="'myCharts' + index"></div> -->
                        <div :id="'zhexian'+index" v-for="(item, index) in zheVal" :key="index"
                            style="width: 100%; height: 100%"></div>
                    </div>
                </div>

注意data中需要赋初始值

 lineChart: {},
 zheVal: [
                        [0],
                        [0],
                        [0],
                        [0],
                        [0],
                        [0],
                        [0],
                        [0],
                        [0],
                    ],

初始化调用的代码(页面渲染需调用这个方法)1.mounted 初始化调用 2.axios获取后调用
在使用切换时加载未跟上,使用如下:

 _this.zheVal = zhexianlist, //先给折线赋值
 _this.$nextTick(() => { _this.initZhexian() }); //再次渲染
initZhexian() {
                    var _this = this
                    _this.zheVal.map((v, index) => {
                        const firstOpt = _this.zhexian(v)
                        _this.lineChart = echarts.init(document.getElementById('zhexian' + index), 'macarons');
                        _this.lineChart.setOption(firstOpt)
                        window.addEventListener("resize", () => {
                            _this.lineChart.resize();
                        });
                    })
                },

折线图渲染对象

zhexian(val) {
                    // let myCharts = echarts.init(document.getElementById('zhexian'))
                    // console.log(val)
                    lineOption = {
                        xAxis: {
                            show: true,
                            axisLabel: {
                                formatter: function () {
                                    return ""
                                }
                            },
                            type: 'category',
                            // data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
                        },
                        yAxis: {
                            type: 'value',
                            splitLine: {
                                show: false
                            },
                            axisLabel: {
                                formatter: function () {
                                    return ""
                                }
                            }
                        },

                        grid: {
                            top: '50%',
                            left: '1%',
                            right: '0%',
                            bottom: '-7%',
                            containLabel: true
                        },

                        series: [
                            {
                                data: val,
                                // data: [10,20,30,40,50,60,70],
                                type: 'line',
                                label: {
                                    "normal": {
                                        "fontSize": 9,
                                        "show": true,
                                        "position": "top"
                                    }
                                }
                            }

                        ]
                    };
                    return lineOption
                    // myCharts.setOption(lineOption)
                },

效果
在这里插入图片描述

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值