学习Echart:异步加载更新

Posted 瓶子2333

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习Echart:异步加载更新相关的知识,希望对你有一定的参考价值。

  这部分比较简单,对图表的异步加载和更新,其实只是一部获取数据然后通过setOption传入数据和配置而已。

技术分享
$.get(‘data.json‘).done(function (data) {
    myChart.setOption({
        title: {
            text: ‘异步数据加载示例‘
        },
        tooltip: {},
        legend: {
            data:[‘销量‘]
        },
        xAxis: {
            data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
        },
        yAxis: {},
        series: [{
            name: ‘销量‘,
            type: ‘bar‘,
            data: [5, 20, 36, 10, 10, 20]
        }]
    });
});
View Code

官方虽然给的jquery方法示例,但我们可以用原生ajax或fetch等,这部分跟异步方式没关系,只要在回调中或promise的.then()中再次调用setOption刷新图标即可。

异步任务总会涉及一个问题,就是请求结果返回之前,我们的界面该显示什么?

1.显示空图表

官方给出的一种方案是先显示空的图标表,等数据返回后再填充图表。

技术分享
// 显示标题,图例和空的坐标轴
myChart.setOption({
    title: {
        text: ‘异步数据加载示例‘
    },
    tooltip: {},
    legend: {
        data:[‘销量‘]
    },
    xAxis: {
        data: []
    },
    yAxis: {},
    series: [{
        name: ‘销量‘,
        type: ‘bar‘,
        data: []
    }]
});

// 异步加载数据
$.get(‘data.json‘).done(function (data) {
    // 填入数据
    myChart.setOption({
        xAxis: {
            data: data.categories
        },
        series: [{
            // 根据名字对应到相应的系列
            name: ‘销量‘,
            data: data.data
        }]
    });
});
View Code

2.loading动画 

技术分享
ECharts 默认有提供了一个简单的加载动画。只需要调用 showLoading 方法显示。数据加载完成后再调用 hideLoading 方法隐藏加载动画。

myChart.showLoading();
$.get(‘data.json‘).done(function (data) {
    myChart.hideLoading();
    myChart.setOption(...);
});
View Code

 

以上是关于学习Echart:异步加载更新的主要内容,如果未能解决你的问题,请参考以下文章

echart使用

当片段视图加载是异步任务的一部分时,如何在片段加载之前显示进度条?

echart异步刷新图表,详细配置注释

当活动中的异步任务完成时如何在片段中重新加载ui?

如何延迟或异步此 WordPress javascript 片段以最后加载以加快页面加载时间?

异步任务片段背景数据