收藏
回答

真机 request 之后添加数据到 饼图 不显示

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug canvas 客户端 iOS 6.7.1 2.0.0
setPie: function(val) {
      var array, colors, context, i, j, k, l, len, n, o, point, radius, ref, ref1, start, total;
      context = wx.createCanvasContext('pieCanvas', this);
      array = val;
      array = [0, 30, 20, 30, 20];
      colors = ["#8cd2f4", "#c2cd23", "#ffe512", "#f78f1e", "#f05133"];
      point = {
        x: 150,
        y: 150
      };
      radius = 140;
      total = 0;
      console.log("array", val);
      for (k = 0, len = array.length; k < len; k++) {
        n = array[k];
        total += n;
      }
      for (i = l = 0, ref = array.length; (0 <= ref ? l < ref : l > ref); i = 0 <= ref ? ++l : --l) {
        context.beginPath();
        start = 0;
        if (i > 0) {
          for (j = o = 0, ref1 = i; (0 <= ref1 ? o < ref1 : o > ref1); j = 0 <= ref1 ? ++o : --o) {
            start += array[j] / total * 2 * Math.PI;
          }
        }
        console.log("start:", start, i, array[i]);
        context.arc(point.x, point.y, radius, start, array[i] / total * 2 * Math.PI, false);
        context.lineTo(point.x, point.y);
        context.setFillStyle(colors[i]);
        context.fill();
        context.closePath();
      }
      return context.draw();
    },


如果 val 是 request 回来的的数组真机上就不显示饼图, 但是如果是自定义的数据(和 request 返回回来的一模一样) 就显示. 模拟器没问题, 真机有问题.

回答关注问题邀请回答
收藏

1 个回答

  • 卢霄霄
    卢霄霄
    2018-08-10

    会不会是你 request失败啦~ 比如没加白名单? console.log("start:",xxxxx) 这个打印了的吗?

    2018-08-10
    有用
    回复 5
    • Kelvin 3413
      Kelvin 3413
      2018-08-10

      log 出来的全部是正确的.


      在 onload 里能加载出来一下, 但是通过事件切换就会不显示了.


      放心 request 一点问题没有.

      2018-08-10
      回复
    • Kelvin 3413
      Kelvin 3413
      2018-08-10

      console.log('start',xxx) 在 vconsole 都有.

      2018-08-10
      回复
    • 卢霄霄
      卢霄霄
      2018-08-10回复Kelvin 3413

      写的怪怪的呢。。

      array = val;

      array = [0, 30, 20, 30, 20];

      能做个代码片段吗?

      https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html


      2018-08-10
      回复
    • Kelvin 3413
      Kelvin 3413
      2018-08-10回复卢霄霄

      array = val 是从 request 获取的, 但是不好使 所以我写了一个 array = [0, 30, 20, 30, 20] 覆盖掉 就出现内容了.


      我好像找到原因了. 好像是在组件里的问题 , 要不是就是在 scroll-view 里的问题. 我正在向外层挪.

      2018-08-10
      回复
    • 卢霄霄
      卢霄霄
      2018-08-10回复Kelvin 3413

      哦。。不懂。。加油~

      2018-08-10
      回复
登录 后发表内容