小程序配置自定义tabBar及异形tabBar配置操作

什么是tabBar?

小程序的tabbar是指小程序底部的一组固定导航按钮,通常包含2-5个按钮,用于快速切换小程序的不同页面。每个按钮都有一个图标和文本标签,点击按钮可以切换到对应的页面。tabbar通常放置在小程序的底部,以便用户随时查看和使用;通常我们可以在app.json中的tabBar属性中配置tabBar,详见:全局配置-tabBar

如何自定义tabBar?

自定义 tabBar 可以让开发者更加灵活地设置 tabBar 样式,以满足更多个性化的场景。

在自定义 tabBar 模式下

  1. 为了保证低版本兼容以及区分哪些页面是 tab 页,tabBar 的相关配置项需完整声明,但这些字段不会作用于自定义 tabBar 的渲染。
  2. 此时需要开发者提供一个自定义组件来渲染 tabBar,所有 tabBar 的样式都由该自定义组件渲染。推荐用 fixed 在底部的 cover-view + cover-image 组件渲染样式,以保证 tabBar 层级相对较高。
  3. 与 tabBar 样式相关的接口,如 wx.setTabBarItem 等将失效。
  4. 每个 tab 页下的自定义 tabBar 组件实例是不同的,可通过自定义组件下的 getTabBar 接口,获取当前页面的自定义 tabBar 组件实例。

注意:如需实现 tab 选中态,要在当前页面下,通过 getTabBar 接口获取组件实例,并调用 setData 更新选中态。可参考底部的代码示例。

操作流程

具体在最下方有提供具体示例项目代码

1. 配置信息

在 app.json 中的 tabBar 项指定 custom 字段,同时其余 tabBar 相关配置也补充完整。

所有 tab 页的 json 里需声明 usingComponents 项,也可以在 app.json 全局开启。

示例:

js 复制代码
{
  "tabBar": {
    "custom": true,
    "color": "#000000",
    "selectedColor": "#000000",
    "backgroundColor": "#000000",
    "list": [{
      "pagePath": "page/component/index",
      "text": "组件"
    }, {
      "pagePath": "page/API/index",
      "text": "接口"
    }]
  },
  "usingComponents": {}
}

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 组件实例

如何制作异形tabBar?

比如这种中间突出的

操作思路:

通过定位等将其移动到需要的位置,但有一点需要注意:如果用的是相对定位,给图片设置大于34.67px的高度时,要使用min-height

示例项目

微信小程序示例-tabBar

相关推荐
abigale032 小时前
前端充电 - 移动端 - 小程序登录、跳转/嵌入H5页面
前端·小程序
JefferyAnd10 小时前
uniapp 微信小程序 升级 uniad插件版本号
微信小程序·小程序·uni-app
HerayChen10 小时前
uniapp微信小程序vue3自定义tabbar
微信小程序·小程序·uni-app
说私域15 小时前
百货店的诞生与现代商业革命:结合开源AI智能客服、AI智能名片与S2B2C商城小程序的新视角
人工智能·小程序·开源
V+zmm1013415 小时前
基于微信小程序的超市购物系统+论文源码调试讲解
java·数据库·微信小程序·小程序·毕业设计
懒大王952718 小时前
小程序中下载文件 Vue3 写法
前端·小程序
Jiaberrr18 小时前
在Uniapp中实现特殊字符弹出框并插入输入框
前端·javascript·微信小程序·小程序·uni-app
—Qeyser19 小时前
使用 uniapp 开发标准体重计算小程序
小程序·uni-app
kaoyaoyao20 小时前
关于优化B站关键词排名策略
大数据·前端·网络·搜索引擎·小程序·推荐算法·seo
霍小毛21 小时前
微信小程序投票系统的构建与实现
微信小程序·小程序