自定义 tabBar 可以让开发者更加灵活地设置 tabBar 样式,以满足更多个性化的场景。
在自定义 tabBar 模式下
<cover-view>
+ <cover-image>
组件渲染样式,以保证 tabBar 层级相对较高。qq.setTabBarItem
等将失效。getTabBar
接口,获取当前页面的自定义 tabBar 组件实例。注意:如需实现 tab 选中态,要在当前页面下,通过 getTabBar
接口获取组件实例,并调用 setData
更新选中态。可参考底部的代码示例。
app.json
中的 tabBar
项指定 custom
字段,同时其余 tabBar
相关配置也补充完整。usingComponents
项,也可以在 app.json
全局开启。示例:
{
"tabBar": {
"custom": true,
"color": "#000000",
"selectedColor": "#000000",
"backgroundColor": "#000000",
"list": [
{
"pagePath": "page/develop/miniprogram/component/index",
"text": "组件"
},
{
"pagePath": "page/develop/miniprogram/API/index",
"text": "接口"
}
]
},
"usingComponents": {}
}
在代码根目录下添加入口文件:
custom-tab-bar/index.js
custom-tab-bar/index.json
custom-tab-bar/index.qml
custom-tab-bar/index.qss
用自定义组件的方式编写即可,该自定义组件完全接管 tabBar 的渲染。另外,自定义组件新增 getTabBar
接口,可获取当前页面下的自定义 tabBar 组件实例。
// page/index/index.js
Page({
onShow:function(){
// 取当前页面的TabBar实例,设置选中态
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
this.getTabBar().setData({
selected: 0
})
}
}
})
← 多线程 Worker 周期性更新 →