【微信小程序】-- 全局配置 -- tabBar(十七)

简介: 【微信小程序】-- 全局配置 -- tabBar(十七)



一、全局配置 – tabBar

  前面已经学习完了全局配置–window,通过栗子了解到如何修改导航栏、下拉刷新和上拉触底。接下来就来讲解一下全局配置另外一个配置项–tabBar。话不多说,让我们原文再续,书接上回吧。

1、什么是 tabBar

  tabBar 是移动端应用常见的页面效果,用于实现多页面的快速切换。小程序中通常将其分为:

  • 底部 tabBar
  • 顶部 tabBar

  注意: tabBar中只能配置最少 2 个、最多 5 个 tab 页签,当渲染顶部 tabBar 时,不显示 icon,只显示文本

2、tabBar 的 6 个组成部分

  接下来将对 tabBar 的 6 个部分进行学习,如下图所示,:

  • backgroundColor:tabBar 的背景色;
  • selectedIconPath:选中时的图片路径;
  • borderStyle:tabBar 上边框的颜色;
  • iconPath:未选中时的图片路径;
  • selectedColor:tab 上的文字选中时的颜色;
  • color:tab 上文字的默认(未选中)颜色

3、tabBar 节点的配置项

  接下来介绍 tabBar 的基本属性,在 官方文档 中,除了 borderStyle,position 属性之外,其他都是必填属性,不过只是为了做测试的话,只有 list 属性是必填的,如下表所示:

属性 类型 必填 默认值 说明
color HexColor tab 上的文字默认颜色,仅支持十六进制颜色
selectedColor HexColor tab 上的文字选中时的颜色,仅支持十六进制颜色
backgroundColor HexColor tab 的背景色,仅支持十六进制颜色
borderStyle string black tabbar 上边 框的颜色, 仅支持 black / white
list Array tab 的列表,详见 list 属性说明, 最少 2 个、最多 5 个 tab
position string bottom tabBar 的位置,仅支持 bottom / top

  其中 list 接受一个数组,只能配置最少 2 个、最多 5 个 tab。tab 按数组的顺序排序,每个项都是一个对象,其属性值如下:

属性 类型 必填 说明
pagePath string 页面路径,必须在 pages 中先定义
text string tab 上按钮文字
iconPath string 图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
当 position 为 top 时,不显示 icon。
selectedIconPath string 选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
当 position 为 top 时,不显示 icon。

  如果在小程序中配置 tabBar 效果,需要打开 app.json 文件,创建与 pageswindow 同级的节点,在里面添加需要的属性,具体代码如下所示:

app.json

{
  "tabBar": {
    "list": [
      {
        "pagePath": "pages/cshPageTab/cshPageTab",
        "text": "Tab"
      },
      {
        "pagePath": "pages/cshPageButton/cshPageButton",
        "text": "Button"
      },
      {
        "pagePath": "pages/cshPageData/cshPageData",
        "text": "Data"
      }
    ]
  },
}

   创建了三个tab进行显示,并没有对其他属性进行设置,比较简洁,来看一下实际显示效果:

二、配置 tabBar

   前面简单的配置tabBar,成功实现跳转,但是样式比较简陋。接下来完整配置一下 tabBar。

1. 需求描述

   根据前面的栗子,在此基础对tabBar进行优化成以下页面。

2. 实现步骤

  在实际开发过程中,完成配置 tabBar 可分为三步:

  • Step 1、拷贝图标资源

  把下载好的 images 资源,拷贝到小程序项目根目录中,将需要用到的小图标分为 3 组,每组两个,其中:

   (1)图片名称中包含 -active 的是选中之后的图标。

   (2)图片名称中不包含 -active 的是默认图标。

  如下图所示:

  • Step 2、新建 3 个对应的 tab 页面

  通过 app.json 文件的 pages 节点,快速新建 3 个对应的 tab 页面,这里为了方便,使用前面栗子的三个页面,示例代码如下:

app.json

{
  "pages":[
    "pages/cshPageTab/cshPageTab",
    "pages/cshPageData/cshPageData",
    "pages/cshPageButton/cshPageButton",
    "pages/index/index",
    "pages/logs/logs"
  ],
}

  其中,cshPageTab 是首页,cshPageData 是消息页面,cshPageButton 是联系我们页面。

  注意:tab页签对应页面必须放在 pages 页面数组最开始的位置,不能往后放,否则无法生效。

  • Step 3、配置 tabBar 选项

  首先打开 app.json 配置文件,和 pageswindow 平级,新增 tabBar 节点,其次 tabBar 节点中,新增 list 数组,这个数组中存放的,是每个 tab 项的配置对象,最后在 list 数组中,新增每一个 tab 项的配置对象。对象中包含的属性如下:

   (1) pagePath 指定当前 tab 对应的页面路径【必填】

   (2) text 指定当前 tab 上按钮的文字【必填】

   (3) iconPath 指定当前 tab 未选中时候的图片路径【可选】

   (4) selectedIconPath 指定当前 tab 被选中后高亮的图片路径【可选】

  为了页面的美观性,这四个都要进行设置。具体代码如下所示:

app.json

{
  "tabBar": {
    "list": [
      {
        "pagePath": "pages/cshPageTab/cshPageTab",
        "text": "Tab",
        "iconPath": "/images/home.png",
        "selectedIconPath": "/images/home-active.png"
      },
      {
        "pagePath": "pages/cshPageButton/cshPageButton",
        "text": "Button",
        "iconPath": "/images/message.png",
        "selectedIconPath": "/images/message-active.png"
      },
      {
        "pagePath": "pages/cshPageData/cshPageData",
        "text": "Data",
        "iconPath": "/images/contact.png",
        "selectedIconPath": "/images/contact-active.png"
      }
    ]
  },
}

  到这里就完成完整的 tabBar 配置,来看下实际效果:


总结

  感谢观看,这里就是全局配置 – tabBar的介绍使用,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹 🌹 🌹

  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。

相关文章
|
1月前
|
小程序 开发工具 git
【微信小程序】-- uni-app 项目--- 购物车 -- 配置 tabBar 效果(五十一)
【微信小程序】-- uni-app 项目--- 购物车 -- 配置 tabBar 效果(五十一)
|
1月前
|
开发框架 移动开发 小程序
【微信小程序】-- 配置uni-app的开发环境(四十八)
【微信小程序】-- 配置uni-app的开发环境(四十八)
|
26天前
|
小程序
微信小程序——属性配置大全
微信小程序——属性配置大全
13 0
|
15天前
|
小程序 前端开发 API
小程序全栈开发中的多端适配与响应式布局
【4月更文挑战第12天】本文探讨了小程序全栈开发中的多端适配与响应式布局。多端适配涉及平台和设备适应,确保统一用户体验;响应式布局利用媒体查询和弹性布局维持不同设备的布局一致性。实践中,开发者可借助跨平台框架实现多平台开发,运用响应式布局技术适应不同设备。同时,注意兼容性、性能优化和用户体验,以提升小程序质量和用户体验。通过这些方法,开发者能更好地掌握小程序全栈开发。
|
15天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。
|
15天前
|
小程序 安全 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的身份认证与授权机制。身份认证包括手机号验证、微信登录和第三方登录,而授权机制涉及角色权限控制、ACL和OAuth 2.0。实践中,开发者可利用微信登录获取用户信息,集成第三方登录,以及实施角色和ACL进行权限控制。注意点包括安全性、用户体验和合规性,以保障小程序的安全运行和良好体验。通过这些方法,开发者能有效掌握小程序全栈开发技术。
|
15天前
|
小程序 前端开发 安全
小程序全栈开发中的跨域问题及其解决方案
【4月更文挑战第12天】本文探讨了小程序全栈开发中的跨域问题及其解决方案。跨域问题源于浏览器安全策略,主要体现在前后端分离、第三方服务集成和数据共享上。为解决此问题,开发者可采用CORS、JSONP、代理服务器、数据交换格式和域名策略等方法。实践中需注意安全性、兼容性和性能。通过掌握这些解决方案,开发者能更好地处理小程序的跨域问题,提升用户体验。
|
15天前
|
JavaScript 前端开发 小程序
微信小程序全栈开发之性能优化策略
【4月更文挑战第12天】本文探讨了微信小程序全栈开发的性能优化策略,包括前端的资源和渲染优化,如图片压缩、虚拟DOM、代码分割;后端的数据库和API优化,如索引创建、缓存使用、RESTful API设计;以及服务器的负载均衡和CDN加速。通过这些方法,开发者可提升小程序性能,优化用户体验,增强商业价值。
|
1月前
|
小程序 API
点餐小程序实战教程09-订单功能开发
点餐小程序实战教程09-订单功能开发
|
15天前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中PWA技术的应用,PWA结合Web的开放性和原生应用的性能,提供离线访问、后台运行、桌面图标和原生体验。开发者可利用Service Worker实现离线访问,Worker处理后台运行,Web App Manifest添加桌面图标,CSS和JavaScript提升原生体验。实践中需注意兼容性、性能优化和用户体验。PWA技术能提升小程序的性能和用户体验,助力开发者打造优质小程序。

热门文章

最新文章