使用自定义tabbar,在tab页中使用this.getTabBar()一直返回null,什么原因?
发布于 5 年前 作者 jie17 9305 次浏览 来自 问答

使用自定义tabbar,在使用的时候,发现菜单点击会发生错乱,于是上网查了相关信息,发现是因为没有在每个tab页面中添加this.getTabBar()这一段代码,于是就加上了这段代码。如下:

onShow: function () {
        console.log(this.getTabBar());
        if (typeof this.getTabBar === 'function' &&
            this.getTabBar()) {
            this.getTabBar().setData({
                selected: 1
            })
        }
}

但是加完这段代码后,this.getTabBar()一直返回null。

返回结果:

我自定义的tabbar是这样调用的:

请问有大神可以解决吗?搞了一天没搞出来。

1 回复

自我解决了,使用姿势严重不正确。根据官方文档,好像自定义的tabbar文件夹的位置和名称必须是固定的,按照文档的来,就顺利成功了。而且,官方的自定义tabbar和其他自定义组件的使用是不同的,不需要在页面中再次写出组件的标签名,就像原声的tabbar使用一样。

还是要好好看官方文档,体会其中含义。

回到顶部