小程序自定义TabBar

1、设置小程序的tabBar时,tabBar不显示,app.json中的配置如下:

{
  "pages": [
    "pages/index/index",
    "pages/scaner/scaner",
    "pages/personal/personal",
    "pages/logs/logs"
  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarTitleText": "mini-programme",
    "navigationBarTextStyle": "black",
    "enablePullDownRefresh": true
  },
  "tabBar": {
    "custom": true,
    "color": "#888",
    "selectedColor": "#34ad57",
    "backgroundColor": "#fff",
    "position": "bottom",
    "list": [
      {
        "pagePath": "pages/scaner/scaner",
        "text": "扫一扫"
      },
      {
        "pagePath": "pages/personal/personal",
        "text": "个人中心"
      }
    ]
  },
  "requiredBackgroundModes": [
    "audio",
    "location"
  ],
  "debug": true,
  "sitemapLocation": "sitemap.json"
}

查资料发现,tabBar的list下的第一项的路径必须对应于pages配置下的第一个页面。因此,将tabBar中list的第一个页面,写在pages配置项的第一个页面就能解决问题

2、自定义tabBar时,使用swtichTab来跳转页面,在跳转的页面的onShow方法中,使用如下代码来设置TabBar的选中状态:

 if (typeof this.getTabBar === 'function' && this.getTabBar()) { // 设置TabBar的选中状态
   this.getTabBar().setData({
     curIndex: index // curIndex是自定义tabBar时定义的选中的索引
   })
 }

 

小程序自定义TabBar小程序自定义TabBar 小静仔 发布了51 篇原创文章 · 获赞 33 · 访问量 9万+ 私信 关注
上一篇:闭包的定义与使用


下一篇:vue-动态的实现点击tabbar后active活跃显示