微信小程序自定义tabbar
自定义tabbar使用场景
当小程序的用户类型不止一种
时,不同类型的用户登录之后进入到看到的场景一般也会有所不同,如关于学校的小程序,学生和老师登录进入的界面肯定是不一样的;关于医院的小程序,普通用户和医生进入的界面也是不一样的,这种场景是比较常见的,就不一一列举了。
自定义tabbar的步骤
一、首先在app.json
进行配置,配置如下:
- tabBar:tabBar 组件的具体配置
- custom:设为 true,表示使用自定义组件
- list:tab 页列表,在列表中的页面将被设置为 tab 页,自动加载 tabBar
要将自定义的tabbar的列表定义一下。如:
1 | "tabBar": { |
二、创建一个与page
文件夹同级的目录,名称为custom-tab-bar
。注意:文件名一定要用这个才可以。
在custom-tab-bar
中的index.json
文件中进行配置:
1 | { |
在custom-tab-bar
中的index.js
文件中配置如下:
1 | const app = getApp(); |
在custom-tab-bar
中的index.wxml
文件中配置如下:
1 | <cover-view class="tab-bar"> |
三、 在每一个tabbar中onShow生命周期中都要规定一下当前的tab页的下标值。如tabbar页中的我的
:
1 | onShow:function(){ |
注意事项
在custom-tab-bar
中的index.js
文件如上述的allList
字段中列举的tabbar的信息中pagePath
字段要以/page
开始才能切换的时候找到索引位置,否则会出现点击tabbar失效,不会跳转的情况,如下图:
正确例子:
1 | "pagePath": "/pages/index/index", |
错误例子:
1 | "pagePath": "../pages/index/index", |
相关博客
-
2021-03-17
-
2020-11-08