求助:自定义tabbar的问题
发布于 5 年前 作者 ping15 13280 次浏览 来自 问答

微信基础库 2.5.0 开始支持自定义 tabBar,

参考文档:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/custom-tabbar.html

代码片段中给出了两个页面:一个index1,一个index2,

在这两个文件里,使用了:

Component({
  pageLifetimes: {
    show() {
      if (typeof this.getTabBar === 'function' &&
        this.getTabBar()) {
        this.getTabBar().setData({
          selected: 0
        })
      }
    }
  }
})

这段代码,和平时的代码Page不同,用的是Component,但是页面还是有很多东西需要写在Page里的,比如onLoad、onReady等等,同时加上这两个标签又出错,请问如何修改?刚出来的组件,百度也找不到相对的教程,拜托各位大牛帮忙解决一下。

2 回复

直接复制show里面的代码,放到页面onshow 生命周期里面

没错就是楼上说的那样,把这一段放到 onShow 里面就行

```

this.getTabBar().setData({

selected: 2

});

```

我碰到的问题是底部 tabbar 和页面不一致。切换页面的时候,tabbar 总是回到最左边那个图标点亮。

(因为组件的 data 里写着 selected: 0)。

后来看到 index.js 文件里有楼主写的这一段代码。思考了一下。就把 getTabBar().setData 加到每一个有 TabBar 页面的 onShow 里,完美解决。

回到顶部