收藏
回答

小程序真机调试报错:TypeError: U.createEvent is not a funct?

小程序在开发工具中调试没有问题、开发工具的预览模式也没有问题。但是真机调试就报错了。我的手机是苹果。报错的页面中使用到了echarts图表组件。

具体代码如下:

import * as echarts from '../../ec-canvas/echarts';
let mydata= [{
  value: 17,
  name: 'I \n 17%'
}, {
  value: 17,
  name: 'S \n 17%'
}, {
  value: 28,
  name: 'C \n 28%'
}, {
  value: 39,
  name: 'D \n 39%'
}];
let chart = null;


function initChart(canvas, width, height, dpr{
  const chart = echarts.init(canvas, null, {
    width: width,
    height: height,
    devicePixelRatio: dpr // new
  });
  canvas.setChart(chart);


  var option = {
    series: [{
      label: {
        normal: {
          fontSize: 14
        }
      },
      type'pie',
      center: ['50%''50%'],
      radius: ['20%''40%'],
      data:mydata
    }]
  };


  chart.setOption(option);
  return chart;
}



Page({


  /**
   * 页面的初始数据
   */
  data: {
    iscd:{
      d:{number:0,percent:0},
      c:{number:0,percent:0},
      i:{number:0,percent:0},
      s:{number:0,percent:0},
    },
    ec: {
      onInit: initChart
    }
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options{
    let d=wx.getStorageSync('D');
    let c=wx.getStorageSync('C');
    let i=wx.getStorageSync('I');
    let s=wx.getStorageSync('S');
    this.setData({
      iscd:{
        d:{number:d,percent:((d/18).toFixed(2)*100).toString().substring(0,2)},
        c:{number:c,percent:((c/18).toFixed(2)*100).toString().substring(0,2)},
        i:{number:i,percent:((i/18).toFixed(2)*100).toString().substring(0,2)},
        s:{number:s,percent:((s/18).toFixed(2)*100).toString().substring(0,2)},
      }
    })
    mydata= [{
      value: this.data.iscd.i.number,
      name: 'I \n '+this.data.iscd.i.percent+'%'
    }, {
      value: this.data.iscd.s.number,
      name: 'S \n '+this.data.iscd.s.percent+'%'
    }, {
      value: this.data.iscd.c.number,
      name: 'C \n '+this.data.iscd.c.percent+'%'
    }, {
      value: this.data.iscd.d.number,
      name: 'D \n '+this.data.iscd.d.percent+'%'
    }];
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {


  },


  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
   
   
  },


  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {


  },


  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {


  },


  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {


  },


  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {


  },


  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {


  }
})


/**
 * echarts 小程序图表 https://github.com/ecomfe/echarts-for-weixin
 * 参考文档:https://www.cnblogs.com/yang-2018/p/11076629.html
 * https://www.cnblogs.com/wukongz/p/13267498.html
*/
回答关注问题邀请回答
收藏

2 个回答

  • P了个F
    P了个F
    2021-06-20

    哦,我在echarts找到问题了。调试的时候加上这句,就好了。发布的时候去掉。

    force-use-old-canvas="true"
    
    2021-06-20
    有用 2
    回复 2
    • ---空巷
      ---空巷
      2021-06-21
      请问这段代码加在哪里
      2021-06-21
      回复
    • 嗯嗯
      嗯嗯
      2021-06-24回复---空巷
      2021-06-24
      回复
  • Mr.Zhao
    Mr.Zhao
    2021-06-20

    canvas真机调试就会报错的,一直都有这问题

    2021-06-20
    有用
    回复 1
    • P了个F
      P了个F
      2021-06-20
      谢谢啊
      2021-06-20
      回复
登录 后发表内容