导航栏起到了链接各个页面的作用,同时能够简洁直观的表现项目的主要内容,不管是网站还是小程序,导航栏可以说是整个产品的核心,因此对于小程序的导航栏来说,许多用户不是很喜欢开发默认的样式,为了满足开发者和用户的需求,微信小程序支持自定义导航栏,今天厦门在乎科技为大家带来微信小程序自定义底部导航栏实现方法,一起来了解一下吧。

微信小程序自定义底部导航栏:
自定义 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.json 中的 tabBar 项指定 custom 字段,同时其余 tabBar 相关配置也补充完整。
所有 tab 页的 json 里需声明 usingComponents 项,也可以在 app.json 全局开启。
2. 添加 tabBar 代码文件
在代码根目录下添加入口文件:
custom-tab-bar/index.js
custom-tab-bar/index.json
custom-tab-bar/index.wxml
custom-tab-bar/index.wxss
3. 编写 tabBar 代码
用自定义组件的方式编写即可,该自定义组件完全接管 tabBar 的渲染。另外,自定义组件新增 getTabBar 接口,可获取当前页面下的自定义 tabBar 组件实例。

官网代码见上面圈红的开发者工具预览效果。
使用该方法需要使用到:
if (typeof this.getTabBar === 'function' &&
this.getTabBar()) {
this.getTabBar().setData({
selected: 0
})
}
但:个人不建议使用这种方法(案例二),建议使用自定义导航栏组件,隐藏原生的导航栏(在app.js中的onLaunch使用wx.hideTabBar()去隐藏)
还有如果使用案例二的导航栏的话,需要注意官方文档的这个要求,需要把版本库提高
另外也不使用cover-view + cover-image,因为会因为各种版本库的原因导致各种无法预料的错误。

以上就是今天为大家带来的关于“微信小程序自定义底部导航栏 底部导航栏实现跳转”全部内容,微信小程序本来封装有底部导航栏,但对于想自定义样式和方法的开发者来说,并不是很友好,想要了解更多关于小程序导航栏开发的内容,欢迎关注厦门在乎科技-专注小程序、app、网站开发