当前位置:   article > 正文

微信小程序中使用ECharts并动态赋值_微信原生小程序导入eacher图表动态赋值写法

微信原生小程序导入eacher图表动态赋值写法

下载echarts的微信小程序版本:echarts-for-weixin ,已经有大神做好了,地址在:https://github.com/ecomfe/echarts-for-weixin,下载后解压,只需要其中的ec-canvas文件夹。将其复制到微信小程序的根目录(本文做法,复制到其他目录也可以,只是需要修改相应的调用路径)。项目的结构如下:

GitHub中的pages文件夹下有ECharts各个示例的配置代码  自取按照格式复制到项目的JS代码里就行,这里不过多细讲

 这里主要讲一下如何动态配置ECharts的option数据,我这里配置的是一个饼图

WXML:

  1. <view class="container">
  2. <ec-canvas id="mychart-dom-pie" canvas-id="mychart-pie" ec="{{ ec }}"></ec-canvas>
  3. </view>

 JSON:

  1. {
  2. "usingComponents": {
  3. "ec-canvas": "../../ec-canvas/ec-canvas"
  4. }
  5. }

JS:

  1. import * as echarts from '../../ec-canvas/echarts';//引入组件库
  2. let rowRows = [];//定义options中的data数据
  3. function initChart(canvas, width, height, dpr) {
  4. const chart = echarts.init(canvas, null, {
  5. width: width,
  6. height: height,
  7. devicePixelRatio: dpr // new
  8. });
  9. canvas.setChart(chart);
  10. var option = {
  11. backgroundColor: "#ffffff",
  12. series: [{
  13. label: {
  14. normal: {
  15. fontSize: 14
  16. }
  17. },
  18. type: 'pie',
  19. center: ['50%', '50%'],
  20. radius: ['20%', '40%'],
  21. data: rowRows
  22. }]
  23. };
  24. chart.setOption(option);
  25. return chart;
  26. }
  27. Page({
  28. data: {
  29. ec: {
  30. onInit: initChart
  31. }
  32. },
  33. onLoad(options) {
  34. var that = this ;
  35. UTIL.httpRequest(API.URL_GET_GETSUMSTATISTICS, sendData,{//这里是封装的请求方法,使用你自己的请求即可
  36. success: (res) => {//请求成功返回res
  37. //循环List开始
  38. for (let j = 0; j < res.length; j++) {
  39. const element = res[j];
  40. rowRows.push({//向rowRows中按格式push接口返回值内容
  41. value: element.value,
  42. name: element.name
  43. })
  44. that.setData({ //重新setData渲染canvas
  45. ec: {
  46. onInit: initChart
  47. }
  48. })
  49. }
  50. //循环List结束
  51. }
  52. })
  53. }
  54. });

需要注意组件ec-canvas的父容器必须有宽高,否则画布渲染不上,另外JSON文件也要记得配置

效果图如下:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/203699
推荐阅读