在小程序开发中,tab bar 是实现多页面快速切换的关键组件,能极大提升用户体验。上一篇我们完成了基础配置,今天深入探索,打造更丰富实用的 tab bar 效果。

实现目标

这次要在小程序底部创建包含 “首页”“消息”“联系我们” 三项的 tab bar,点击不同选项可切换对应页面,且选中时显示特定图标。

实现步骤

1. 准备图标资源

首先,将资料目录中的image文件夹拷贝到小程序项目根目录。image文件夹里有tab文件夹,存放着 6 个图标,分成 3 组,每组两个。名字含-active的是选中后的图标,不含的是默认图标。比如home.png是 “首页” 未选中图标,home-active.png是选中图标。这一步就像搭建房子准备好建筑材料,为后续设置图标效果做准备。

2. 新建 tab bar 页面

通过app.json文件配置节点新建页面。在app.json的页面路径配置数组里,按顺序添加/pages/home/home、/pages/message/message、/pages/contact/contact这三个页面路径,分别对应 “首页”“消息”“联系我们” 页面。注意,tab 页签对应的页面必须放在数组开头,否则无法正常渲染。这就好比排队,tab 页签页面得站在队伍最前面。

3. 配置 tab bar 选项
  1. 打开配置文件:找到并打开app.json配置文件。
  2. 添加 tab bar 节点:在与window节点同级位置,新增tabBar节点。在微信开发者工具里,输入tabBar回车,会自动生成基本结构,方便后续改造。
  3. 配置 list 数组:在tabBar节点内添加list数组,存放每个 tab 页签的配置对象。每个对象包含 4 个属性:pagePath(页面路径)、text(显示文本)、iconPath(未选中图标路径)、selectedIconPath(选中图标路径),前两项必填,后两项可选,为美观一般都设置。以 “首页” 为例,配置代码如下:
{"tabBar": {"list": [{"pagePath": "/pages/home/home","text": "首页","iconPath": "/image/tab/home.png","selectedIconPath": "/image/tab/home-active.png"},// 其他页签配置类似]}
}

按照上述格式,依次完成 “消息” 和 “联系我们” 页签的配置,修改相应的页面路径、显示文本和图标路径。

效果验证

完成配置保存后,在微信开发者工具模拟器里查看效果。若一切正常,底部会出现包含三个选项的 tab bar,默认选中 “首页”,点击不同选项可切换页面,同时图标也会相应变化。若出现问题,仔细检查配置步骤,如页面路径是否正确、图标路径是否准确、文件是否成功拷贝等。

总结与注意事项

  1. 页面顺序:tab 页签对应的页面一定要放在配置数组开头,否则无法显示。
  2. 图标路径:确保图标路径准确,包括文件夹名称和文件名,区分大小写。
  3. 必填属性pagePathtext是每个页签配置对象的必填属性,不可遗漏。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/86632.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/86632.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/86632.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 数据分析:numpy,抽提,多维切片索引

目录 1 示例代码2 欢迎纠错3 免费爬虫------以下关于 Markdown 编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个…

【向上教育】结构化面试概述.pdf

目 录 第一章 面试须知—面试形式 .......................................................................................................... 1 一、结构化面试 .................................................................................................…

STM32F407控制单个张大头闭环步进电机讲解与梯形加减速(HAL库)

文章目录 硬件连接CubeMX配置**使用TIM5定时器CH3,即PA2作为脉冲控制,PE5控制方向(TIM5_CH4是为控制双电机做准备的可以先不配置)** 设置占空比为50%,以下为AI讲解重要!!!定时器更新中断脉冲触发原理详解PW…

MongoDB入门学习(含JAVA客户端)

0.序章 致命的面试问题:为什么使用MongoDB? 大型的分布式的文档型数据库,也是NoSQL数据库(例如 redis) MongoDB适合数据量大而价值又低的这种数据(播放进度、评论、弹幕,实时数据的CRUD&…

RedisCache与StringRedisTemplate的深度对比

1. 基本概念 RedisCache ​​定位​​:自定义封装的Redis缓存工具类​​特点​​:通常针对业务场景进行了高层抽象​​典型功能​​: 带过期时间的缓存操作自定义序列化方式业务键前缀管理简化常用操作API StringRedisTemplate ​​定位…

HOOPS Visualize技术详解(二):3D图形系统HOOPS/3DGS的段结构与属性机制

在工业级三维可视化领域中,HOOPS Visualize凭借其高性能和模块化设计被广泛应用于CAD、CAM、仿真、BIM等工程软件中。其中,HOOPS 3D Graphics System(简称HOOPS/3DGS)是HOOPS Visualize的核心组件,承担着图形场景管理、…

随机化在临床试验中的应用与挑战

一、随机化的核心目的 1.1 控制混杂偏倚 1.1.1 平衡预后因素 确保已知/未知预后因素在组间分布均衡,避免基线不平衡影响结果。 1.1.2 避免选择偏倚 防止研究者或患者主观选择分组,保障组间差异归因于干预。 1.2 保障统计推断有效性 1.2.1 满足独立性假设 满足统计检验…

在C++中#pragma“可选预处理指令的作用“。

文章目录 1. 标准定位:2. 语法形式:3. 常见用途举例4. 为什么用 #pragma?5. 宏里用 __pragma / _Pragma6. 常见误区 在 C/C 里,#pragma 本质上是“可选预处理器指令”,用来告诉编译器在编译某段代码时启用或关闭某些特…

windows系统中docker数据迁移出系统盘

1、关闭docker 2、移动docker数据 找到docker数据目录,一般在C:\Users\61050\AppData\Local\Docker文件,将整个docker目录复制到其他盘(例如 D:\Docker),为保证不出错,可以先提前复制一份。 3、创建符号链…

win11电脑突然休眠问题排查

WinR, 输入eventvwr.msc打开事件查看器。找到出现问题的时间点那条数据。会显示原因。首先还是要先排查原因。再去猜测。我因为猜测就直接去了科技市场扫灰加硅来了一个遍。另外还买了散热风扇和金属支架。虽然不知道有没有必要。但是别人是很原因。到头来早上还是发现自动休眠…

安卓开发 lambda表达式

第一步:初学者代码 (没有 Lambda 的“旧”方法) 假设我们有一个简单的需求:执行一个耗时的计算(比如网络请求),并在计算完成后,通过一个“回调”来通知我们结果。 1. 定义一个回调接口 这个接口只有一个…

JMeter中变量如何使用?

在性能测试的世界中,Apache JMeter是一把利器,凭借其强大的可扩展性与图形化操作界面,在工业界和开源社区中广受青睐。而“变量的使用”作为JMeter中提高测试灵活性、可维护性和复用性的关键技术点,却常常被初学者忽略或误用。本文…

印度和澳洲的地理因素

研究表明,气温每升高1℃,劳动生产率可能下降1.5%至3%,甚至更多。印度大部分地区夏季高温且湿度较大,有地方60多度,严重限制了劳动效率和农业产出。若印度整体地理位置北移约300公里,平均气温将降低&#xf…

3D Gaussian Splatting

3D高斯溅射(3D Gaussian Splatting )是一种基于显式三维高斯分布的场景表示与渲染方法。与传统的三维重建技术(如多边形网格、点云或隐式神经辐射场NeRF)不同,3DGS将场景表示为大量带有属性的3D高斯椭球的集合&#xf…

鸿蒙5:布局组件

注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…

Flink状态和容错-基础篇

1. 概念 flink的状态和容错绕不开3个概念,state backends和checkpoint、savepoint。本文重心即搞清楚这3部分内容。 容错机制是基于在状态快照的一种恢复方式。但是状态和容错要分开来看。 什么是状态,为什么需要状态? 流计算和批计算在数…

【若依学习记录】RuoYi后台手册——分页实现

目录 若依系统简介 前端调用实现 前端调用举例 后台逻辑实现 若依系统简介 RuoYi 是一个基于 Spring Boot、Apache Shiro、MyBatis 和 Thymeleaf 的后台管理系统,旨在降低技术难度,助力开发者聚焦业务核心,从而节省人力成本、缩短项目周…

从台式电脑硬件架构看前后端分离开发模式

在软件开发领域,前后端分离早已成为主流架构设计理念。它将系统的业务逻辑处理与用户界面展示解耦,提升开发效率与系统可维护性。有趣的是,我们日常生活中常见的台式电脑硬件架构,竟与这一理念有着异曲同工之妙。今天,就让我们从台式电脑的硬件组成出发,深入探讨其与前后…

可观测性的哲学

在现代系统架构中,“可观测性(Observability)”已不仅仅是一个工程实践,是一种关于“理解世界”的哲学姿态, 还是一种帮助架构演变的认知工具。从柏拉图的“洞穴寓言”出发,我们可以构建起一条从被动接受投影&#xff…

开疆智能CCLinkIE转ModbusTCP网关连接傲博机器人配置案例

本案例是通过CClinkIE转ModbusTCP网关,连接傲博机器人的配置案例 PLC配置 打开三菱PLC组态软件GXWORK3设置CClinkIE一侧的参数配置,首先设置PLC的IP地址 双击详细设置进入CClinkIE配置 添加通用从站IP地址以及占用点数 设置好分配的软元件,确…