PHP前端开发

微信小程序中使用ECharts 异步加载数据的方法

百变鹏仔 3周前 (11-27) #echarts
文章标签 加载

这篇文章主要介绍了微信小程序中使用echarts 异步加载数据的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

官网例子都是同步的,怎么引入及同步demo请移步官网

<view> <ec-canvas></ec-canvas> <ec-canvas></ec-canvas></view>
import * as echarts from '../../ec-canvas/echarts';Page({ data: {  ecBar: {   lazyLoad: true // 延迟加载  },  ecScatter: {   lazyLoad: true   } }, onLoad(){  this.barComponent = this.selectComponent('#mychart-dom-multi-bar');  this.scaComponnet = this.selectComponent('#mychart-dom-multi-scatter');  this.init_bar();  this.init_sca(); }, init_bar: function (){  this.barComponent.init((canvas, width, height) =&gt; {   // 初始化图表   const barChart = echarts.init(canvas, null, {    width: width,    height: height   });   barChart.setOption(this.getBarOption());   // 注意这里一定要返回 chart 实例,否则会影响事件处理等   return barChart;  }); }, init_sca: function () {  this.scaComponnet.init((canvas, width, height) =&gt; {   // 初始化图表   const scaChart = echarts.init(canvas, null, {    width: width,    height: height   });   scaChart.setOption(this.getScaOption());   // 注意这里一定要返回 chart 实例,否则会影响事件处理等   return scaChart;  }); }, getBarOption:function(){  //return 请求数据  return {   color: ['#37a2da', '#32c5e9', '#67e0e3'],   tooltip: {    trigger: 'axis',    axisPointer: {      // 坐标轴指示器,坐标轴触发有效     type: 'shadow'    // 默认为直线,可选为:'line' | 'shadow'    }   },   legend: {    data: ['热度', '正面', '负面']   },   grid: {    left: 20,    right: 20,    bottom: 15,    top: 40,    containLabel: true   },   xAxis: [    {     type: 'value',     axisLine: {      lineStyle: {       color: '#999'      }     },     axisLabel: {      color: '#666'     }    }   ],   yAxis: [    {     type: 'category',     axisTick: { show: false },     data: ['汽车之家', '今日头条', '百度贴吧', '一点资讯', '微信', '微博', '知乎'],     axisLine: {      lineStyle: {       color: '#999'      }     },     axisLabel: {      color: '#666'     }    }   ],   series: [    {     name: '热度',     type: 'bar',     label: {      normal: {       show: true,       position: 'inside'      }     },     data: [300, 270, 340, 344, 300, 320, 310]    },    {     name: '正面',     type: 'bar',     stack: '总量',     label: {      normal: {       show: true      }     },     data: [120, 102, 141, 174, 190, 250, 220]    },    {     name: '负面',     type: 'bar',     stack: '总量',     label: {      normal: {       show: true,       position: 'left'      }     },     data: [-20, -32, -21, -34, -90, -130, -110]    }   ]  }; }, getScaOption:function(){  //请求数据   var data = [];  var data2 = [];  for (var i = 0; i <p><span style="color: #ff0000">注意:异步加载时,ec-canvas标签加载显示要先于this.scaComponnet.init,否则会报错。</span></p><p>以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!</p><p>