【微信小程序】页面tabBar切换、下拉刷新

简介: 通过以下方法是页面tabBar切换、下拉刷新。

目录


前言


一、tabBar切换


1.为什么使用tabBar


2.注意事项(官网提示)


3.如何使用(附源码)


二、下拉刷新


前言


基本上,所有的小程序,页面底部都有个tab,来实现页面的切换,效果如下


image.png


一、tabBar切换


1.为什么使用tabBar


在 pages.json 中提供 tabBar 配置,不仅仅是为了方便快速开发导航,更重要的是在App和小程序端提升性能。在这两个平台,底层原生引擎在启动时无需等待js引擎初始化,即可直接读取 pages.json 中配置的 tabBar 信息,渲染原生tab。


2.注意事项(官网提示)


当设置 position 为 top 时,将不会显示 icon

tabBar 中的 list 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。


tabbar 切换第一次加载时可能渲染不及时,可以在每个tabbar页面的onLoad生命周期里先弹出一个等待雪花(hello uni-app使用了此方式)

tabbar 的页面展现过一次后就保留在内存中,再次切换 tabbar 页面,只会触发每个页面的onShow,不会再触发onLoad。


顶部的 tabbar 目前仅微信小程序上支持。需要用到顶部选项卡的话,建议不使用 tabbar 的顶部设置,而是自己做顶部选项卡,可参考 hello uni-app->模板->顶部选项卡。


3.如何使用(附源码)


tabBar是全局文件,需要在 pages.json配置

微信图片_20220927204657.png



根据自己的要求来配对,我这里是有四个页面,分别是【首页、分类、购物车、我的】


这里的四个页面都是在pages中创建的,是主要的四个功能页面,需要在pages.json注册(如果使用的HBuilder X 在创建文件夹是,会提示是否在pages.json中注册,勾取一下就可以),展示一段注册代码,如下:

{
     "path" : "pages/cart/cart",
     "style" :                                                                                    
{
         "navigationBarTitleText": "",
         "enablePullDownRefresh": false,
   "navigationBarTitleText": "小余努力搬砖"
}
}


pagePath是写页面地址,这里的页面地址推荐在pages中创建


iconPath是写图片地址,图片放到static中寻找路径即可,我们每次点击切换后,为了更好的展示效果,图片都会有点击前点击后的状态,这里的图片是点击前


selectedIconPath这里就是放点击后的图片,与点击前有明显的区别,就是为了表现出我们点击到了,并且切换了


text自己起名字


其中还有许多属性,可以通过自己对项目开发的要求进行修改和优化,修改官网的默认样式

微信图片_20220927204744.png



我的配置源码如下,如果需要完整代码,私信留下qq邮箱

"tabBar": {
    "color": "#7A7E83",
    "selectedColor": "#3cc51f",
    "borderStyle": "black",
    "backgroundColor": "#ffffff",
    "list": [{
    "pagePath": "pages/index/index",
    "iconPath": "static/tabbar/index.png",
    "selectedIconPath": "static/tabbar/indexSelected.png",
    "text": "首页"
    }, {
    "pagePath": "pages/class/class",
    "iconPath": "static/tabbar/class.png",
    "selectedIconPath": "static/tabbar/classSelected.png",
    "text": "分类"
    },{
    "pagePath": "pages/cart/cart",
    "iconPath": "static/tabbar/cart.png",
    "selectedIconPath": "static/tabbar/cartSelected.png",
    "text": "购物车"
    },{
    "pagePath": "pages/my/my",
    "iconPath": "static/tabbar/my.png",
    "selectedIconPath": "static/tabbar/mySelected.png",
    "text": "我的"
    }]
    }



二、下拉刷新


下拉刷新非常的简单,只需要一行代码就行,需要学会看官网的介绍,这单词我是记不住


微信图片_20220927204827.png


在 pages.json中的globalStyle加上"enablePullDownRefresh":true即可,默认是关闭

微信图片_20220927204840.png


"globalStyle": {
  "navigationBarTextStyle": "black",
  "navigationBarTitleText": "小余努力搬砖",
  "navigationBarBackgroundColor": "#F8F8F8",
  "backgroundColor": "#F8F8F8",
  "enablePullDownRefresh":true  //此处就是控制下拉刷新
  },


如果想要改名字,需要先将"navigationBarTitleText": "uni-app"注释掉,再到globalStyle中的navigationBarTitleText改掉名字


还有很多样式可以根据官网的注释进行修改,得到自己想要的样子


微信图片_20220927204902.gif



相关文章
|
15天前
|
缓存 小程序 API
微信小程序页面导航与路由:实现多页面跳转与数据传递
本文深入探讨微信小程序的页面导航与路由机制,介绍多种页面跳转方式如`wx.navigateTo`、`wx.redirectTo`、`wx.switchTab`等,并讲解通过URL、全局变量和事件传递数据的方法。结合案例实现多页面跳转与数据传递,帮助开发者掌握这一重要技能。
|
5月前
|
小程序
微信小程序动态tabBar实现:基于自定义组件,灵活支持不同用户角色与超过5个tab自由组合(更新版)
微信小程序动态tabBar实现:基于自定义组件,灵活支持不同用户角色与超过5个tab自由组合(更新版)
943 1
|
6月前
|
小程序 JavaScript API
微信小程序开发学习之页面导航(声明式导航和编程式导航)
这篇文章介绍了微信小程序中页面导航的两种方式:声明式导航和编程式导航,包括如何导航到tabBar页面、非tabBar页面、后退导航,以及如何在导航过程中传递参数和获取传递的参数。
微信小程序开发学习之页面导航(声明式导航和编程式导航)
|
5月前
|
小程序
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
935 0
|
6月前
|
JSON 小程序 JavaScript
微信小程序页面事件,下拉刷新事件和上拉触底事件
这篇文章介绍了微信小程序中如何实现下拉刷新和上拉触底事件,包括开启下拉刷新、配置下拉刷新样式、监听下拉刷新事件,以及监听上拉触底事件和配置上拉触底的距离。
|
20天前
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。
|
7天前
|
人工智能 自然语言处理 小程序
技术小白如何利用DeepSeek半小时开发微信小程序?
通过通义灵码的“AI程序员”功能,即使没有编程基础也能轻松创建小程序或网页。借助DeepSeek V3和R1满血版模型,用户只需用自然语言描述需求,就能自动生成代码并优化程序。例如,一个文科生仅通过描述需求就成功开发了一款记录日常活动的微信小程序。此外,通义灵码还提供智能问答模式,帮助用户解决开发中的各种问题,极大简化了开发流程,让普通人的开发体验更加顺畅。
技术小白如何利用DeepSeek半小时开发微信小程序?
|
1月前
|
人工智能 开发框架 机器人
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型和消息平台,具备多轮对话、语音转文字等功能。
2892 15
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
|
5月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
1118 7
|
5月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
987 1

热门文章

最新文章