收藏
回答

selectcomponent 返回null

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug selectcomponent 工具 1 2.1.1
onLoad: function(){
   this.barComponent = this.selectComponent('#barDom');
   console.log(this.selectComponent('#barDom'))
   this.lineComponent = this.selectComponent('#lineDom');
   this.pieComponent = this.selectComponent('#pieDom');
},



<ec-canvas id="lineDom" canvas-id="line" ec="{{ecLine}}"></ec-canvas>

<ec-canvas id="barDom" canvas-id="bar" ec="{{ecBar}}"></ec-canvas>

<ec-canvas id="pieDom" canvas-id="pie" ec="{{ecPie}}"></ec-canvas>



早上还可以取到barComponent 下午的时候就报null



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

6 个回答

  • 車句
    車句
    2018-08-16

    如果使用 wx:if 控制组件的展示与隐藏,在wx:if = false时,this.selectComponent() 获取到值是null

    2018-08-16
    赞同 2
    回复
  • 生命過客
    生命過客
    2018-07-18

    放到生命周期 onReady 函数里面, onLoad 的时候页面结构还没完全加载进来。

    2018-07-18
    赞同 1
    回复
  • coder2017
    coder2017
    2018-10-17

    .json文件的格式不对也会导致这个问题。

    正确的格式内容如下:


    {  "usingComponents": {    "pwddialog":"../components/pwddialog/pwddialog"  }

    }


    2018-10-17
    赞同
    回复
  • 坚果 jeango
    坚果 jeango
    2018-08-17

    onLoad中好像是有时会遇到组件没有完成初始化的情况

    2018-08-17
    赞同
    回复
  • @是弓长張啊
    @是弓长張啊
    2018-07-24

    楼主解决了吗


    2018-07-24
    赞同
    回复 1
    •   ᵞ
        ᵞ
      2018-07-24

      因为太长没解决方案就直接没有使用selectcomponent了,可能是像楼下的说的onLoad的时候加载可能没加载完读取不到组件吧。你可以试一下把那个selectcomponent放在onReady里面去获取。



      2018-07-24
      回复
  • Rifty
    Rifty
    2018-07-07

    usingComponents设置了么

    2018-07-07
    赞同
    回复 1
    •   ᵞ
        ᵞ
      2018-07-07

      "usingComponents": {

      "ec-canvas": "../../ec-canvas/ec-canvas"

      }


      2018-07-07
      回复
登录 后发表内容