收藏
回答

this.selectComponent is undefined

这个错误由于捕获不到 直接是上报上来的


this.selectComponent is not a function. (In 'this.selectComponent("#tabbar")', 'this.selectComponent' is undefined);at "pages/index/index" page lifeCycleMethod onLoad function 是不是不能在onLoad调用this.selectComponent?

微信版本:6.5.7

大多都是安卓机型

最后一次编辑于  2018-07-24  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

4 个回答

  • LastLeaf
    LastLeaf
    2018-07-24

    你好,selectComponent 需要在页面有自定义组件时或在自定义组件中才可使用。


    如果是现网上的报错,很可能是由于微信版本较低导致的。低于 1.6.3 的基础库版本没有自定义组件支持。

    2018-07-24
    赞同
    回复 2
    • 千江有水千江月
      千江有水千江月
      2018-07-24

      可以确定的是 我的页面上有用到组件

      <view class="container tabbar-page">

          <tabbar id="tabbar"></tabbar>

      </view>


      json:

      {

          "backgroundTextStyle": "dark",

          "enablePullDownRefresh": true,

          "usingComponents": {

              "tabbar": "../../components/tabbar/tabbar"

          }

      }


      js:

      onLoad: function () {

          this.tabbar = this.selectComponent('#tabbar');

      }


      微信后台设置



      按理说低于1.6.4不可能进得来

      我也束手无策了, 现在改成了通过组件的

      properties的observer

      方法监听来值的改变做相应的处理,能实现我的需求

      2018-07-24
      回复
    • LastLeaf
      LastLeaf
      2018-07-24

      应该是这么个问题:有部分很老的客户端会忽略后台的最低版本设置,也就是说,这几个很老的客户端版本仍然可以进入你的小程序来引发这个错误。这部分用户的占比很低 <<1% ,如果你不想忽略这一小部分用户的话,可以在进入小程序时判断基础库版本号,做一个提示。

      2018-07-24
      回复
  • Can🌴
    Can🌴
    2018-07-24

    你自己写的函数?

    2018-07-24
    赞同
    回复 7
    • 千江有水千江月
      千江有水千江月
      2018-07-24

      是微信自有的


      2018-07-24
      回复
    • Galina
      Galina
      2018-07-24回复Can🌴

      啊?可以用的啊。 我在用啊,selectComponent。

      2018-07-24
      回复
    • Can🌴
      Can🌴
      2018-07-24回复Galina

      忽略我,有专业的来回答了

      2018-07-24
      回复
    • 張澤偉。
      張澤偉。
      08-03回复Galina
      为什么传入一个class ,但是却是空啊。,
      08-03
      回复
    • Galina
      Galina
      08-08回复張澤偉。
      在自定义组件上写了class的? 我一般喜欢用id。正常的呀 this.selectComponent('#sku')
      08-08
      回复
    查看更多(2)
  • 車句
    車句
    2018-08-16

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

    2018-08-16
    赞同 1
    回复
  • coder2017
    coder2017
    2018-08-05

    我也遇到这个问题,蹊跷的是我选择两种不同的编译模式下,一种编译 模式可以,另一种编译模式就会出现这个问题,返回的是null,取不到对象。

    后来我就没有在index.js中使用this.selectComponent方法,在其他功能中使用这个方法没问题。

    2018-08-05
    赞同
    回复 1
    • coder2017
      coder2017
      2018-10-17

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

      正确的格式内容如下:


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

      }

      2018-10-17
      回复