自定义 tabBar 可以让开发者更加灵活地设置 tabBar 样式,以满足更多个性化的场景。
在自定义 tabBar 模式下
- 为了保证低版本兼容以及区分哪些页面是 tab 页,tabBar 的相关配置项需完整声明,但这些字段不会作用于自定义 tabBar 的渲染。
- 此时需要开发者提供一个自定义组件来渲染 tabBar,所有 tabBar 的样式都由该自定义组件渲染。推荐用 fixed 在底部的 cover-view + cover-image 组件渲染样式,以保证 tabBar 层级相对较高。
- 与 tabBar 样式相关的接口,如 wx.setTabBarItem 等将失效。
-
每个 tab 页下的自定义 tabBar 组件实例是不同的,可通过自定义组件下的
getTabBar
接口,获取当前页面的自定义 tabBar 组件实例。
注意:如需实现 tab 选中态,要在当前页面下,通过 getTabBar
接口获取组件实例,并调用 setData 更新选中态。可参考底部的代码示例。
使用流程
1. 配置信息 app.js
"tabBar": {
"color": "#B0B0B0",
"selectedColor": "#000000",
"backgroundColor": "#ffffff",
"borderStyle": "white",
"list": [
{
"pagePath": "pages/message/index",
"text": "消息",
"iconPath": "pages/image/message.png",
"selectedIconPath": "pages/image/message-selected.png"
},
{
"pagePath": "pages/home/index",
"text": "首页",
"iconPath": "pages/image/home.png",
"selectedIconPath": "pages/image/home-selected.png"
},
{
"pagePath": "pages/me/index",
"text": "我",
"iconPath": "pages/image/me.png",
"selectedIconPath": "pages/image/me-selected.png"
}
]
},
网友评论