学习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] }] }); });
官方虽然给的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 }] }); });
2.loading动画
ECharts 默认有提供了一个简单的加载动画。只需要调用 showLoading 方法显示。数据加载完成后再调用 hideLoading 方法隐藏加载动画。 myChart.showLoading(); $.get(‘data.json‘).done(function (data) { myChart.hideLoading(); myChart.setOption(...); });
以上是关于学习Echart:异步加载更新的主要内容,如果未能解决你的问题,请参考以下文章
当片段视图加载是异步任务的一部分时,如何在片段加载之前显示进度条?