收藏
回答

selectcomponent 返回null

框架类型 问题类型 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



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

7 个回答

  • 車句
    車句
    2018-08-16

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

    2018-08-16
    有用 5
    回复
  • 2018-07-07

    usingComponents设置了么

    2018-07-07
    有用 2
    回复 2
    • @
      @
      2018-07-07

      "usingComponents": {

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

      }


      2018-07-07
      1
      回复
    • 苦瓜甜甜的
      苦瓜甜甜的
      2022-08-31
      我的就是这个原因,忘写了
      2022-08-31
      回复
  • 🇦 🇷 🇴 🇺 🇸 🇪
    🇦 🇷 🇴 🇺 🇸 🇪
    2018-07-18

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

    2018-07-18
    有用 1
    回复
  • ꯭微꯭信꯭官꯭仿꯭
    ꯭微꯭信꯭官꯭仿꯭
    2020-12-23

    我跟你遇到的问题一样,我的问题解决方案就是去掉虚拟组件设置就可以了

     options:{
        styleIsolation:"apply-shared",    //"isolated",
        //virtualHost: true
      },
    
    2020-12-23
    有用
    回复
  • 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
      回复
登录 后发表内容