Echarts,用axios请求数据,不显示问题

我数据是在mounted里请求的数据格式什么的都对的,也请求过来了,但是图表显示不出来,我把数据写死在data里就能显示,请问这是什么问题,是生命周期不对的问题吗,下面是我的代码,我把echarts把配置去掉了太长了,感谢

<template>
    <div>
        <div class="wrap">
            <div id="chart_bar"></div>
        </div>
    </div>
</template>

<script>
import { getFaultList } from "@/api/exh/exh_3";
import echarts from "echarts";
export default {
    data() {
        return {
            fullHeight: document.documentElement.clientHeight,
            xAxisData: [],//x轴数据
            seriesData: [],//y轴数据
        };
    },

    created() {
        
    },
    mounted() {
        this.getFault("YEAR");
    },

    methods: {
        getFault(dateType = "YEAR") {
            getFaultList({ type: dateType }).then(res => {
                for (let index = 0; index < 9; index++) {
                    this.seriesData.push(res.data.data[index].count);
                    this.xAxisData.push(res.data.data[index].deviceName);
                }
                
            });
        },
        changeFixed(clientHeight) {}
    },
    
};
</script>
    
    
    
阅读 4.3k
3 个回答

在重新获取数据后,在调用一次echarts的setOption方法

你异步获取到的数据后,需要再次画一次图表,图表数据才会更新。

具体的代码,你可以自己去搜一下,关键字vue echarts 动态数据

那个echarts的插件一般是webview的形式展现的,也就是拿着你data空数据已经构建了一次,最好自己写个echarts的组件,解决下先构建的情况,再去页面调用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题