当前位置: 首页 > backend >正文

uni-app学习笔记二十七--设置底部菜单TabBar的样式

官方文档地址:uni.setTabBarItem(OBJECT) | uni-app官网

uni.setTabBarItem(OBJECT)

动态设置 tabBar 某一项的内容,通常写在项目的App.vue的onLaunch方法中,用于项目启动时立即执行

重要参数:

indexnumbertabBar 的哪一项,从左边算起
textStringtab 上的按钮文字

index索引值从0开始,从左到右逐项加1,指向哪个菜单

onLaunch: function() {uni.setTabBarItem({index:1,text:"自定义菜单",})

效果展示: 

uni.hideTabBar(OBJECT)

隐藏 tabBar,用于隐藏底部菜单栏。

uni.setTabBarBadge(OBJECT)

为 tabBar 某一项的右上角添加文本。

OBJECT参数说明:

参数类型必填说明
indexNumbertabBar的哪一项,从左边算起
textString显示的文本,不超过 3 个半角字符

uni.removeTabBarBadge(OBJECT)

移除 tabBar 某一项右上角的文本。

uni.showTabBarRedDot(OBJECT)

显示 tabBar 某一项的右上角的红点。

uni.hideTabBarRedDot(OBJECT)

隐藏 tabBar 某一项的右上角的红点。

下面通过代码实现上面TabBar的效果。要求实现:

1.项目启动页面加载时即出现小红点和右上角角标;

2.当用户点击跳转到相应菜单页面时,小红点和右上角角标消失。

 为了防止TabBar 页面可能还未挂载,直接调用 setTabBarBadge 或 showTabBarRedDot 出现下面的错误:

UnhandledPromiseRejection: {"errMsg":"showTabBarRedDot:fail not TabBar UnhandledPromiseRejection: {"errMsg":"setTabBarBadge:fail not TabBar page"}

我们可以使用 nextTick 或 setTimeout 延迟调用

在 App.vue 的 onLaunch 里,用 setTimeout 或 uni.nextTick 确保 TabBar 初始化完成后再调用:

setTimeout(() => {uni.setTabBarBadge({index:2,text:"3"})uni.showTabBarRedDot({index:1})},500)

然后当用户点击跳转到相应页面时执行onShow生命函数时,调用隐藏的方法,让红点和角标消失:

小红点消失使用:

onShow(()=>{uni.hideTabBarRedDot({index:1})})

角标消失使用:

onShow(()=>{uni.removeTabBarBadge({index:2})
})

onPullDownRefresh

在 js 中定义 onPullDownRefresh 处理函数(和onLoad等生命周期函数同级),监听该页面用户下拉刷新事件。

  • 需要在 pages.json 里,找到的当前页面的pages节点,并在 style 选项中开启 enablePullDownRefresh
  • 当处理完数据刷新后,uni.stopPullDownRefresh 可以停止当前页面的下拉刷新。

uni.startPullDownRefresh(OBJECT)

开始下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。

uni.stopPullDownRefresh()

停止当前页面下拉刷新。

http://www.xdnf.cn/news/12814.html

相关文章:

  • AUTOSAR实战教程--标准协议栈实现DoIP转DoCAN的方法
  • 12-OPENCV ROCKX项目 人脸拍照
  • 【Blender】Blender 基础:导入导出
  • 【算法】【优选算法】优先级队列
  • Hermite 插值
  • Day47
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月7日第101弹
  • 【CSS-6】深入理解CSS复合选择器:提升样式表的精确性与效率
  • 宝塔安装配置FRP
  • 【题解-洛谷】P10448 组合型枚举
  • 基于RAG实现下一代的企业智能客服系统
  • 2025年6月|注意力机制|面向精度与推理速度提升的YOLOv8模型结构优化研究:融合ACmix的自研改进方案
  • 当SAP系统内计划订单转换为生产订单时发生了什么?
  • 混合策略实现 doc-doc 对称检索局限性与失败案例
  • 基于算法竞赛的c++编程(21)cin,scanf性能差距和优化
  • 在 Windows 11 或 10 上删除、创建和格式化分区
  • tableau 实战工作场景常用函数与LOD表达式的应用详解
  • 操作系统进程管理解析:从 fork 到 exec 的全流程实战与底层原理
  • Python Robot Framework【自动化测试框架】简介
  • OTF字体包瘦身,保留想要的字
  • vector使用及模拟
  • python并发编程
  • 【AI系列】BM25 与向量检索
  • 并行硬件环境及并行编程
  • 【Java学习】Spring Security登录认证流程通俗版总结归纳
  • 【西门子杯工业嵌入式-4-什么是外部中断】
  • Cursor生成Java的架构设计图
  • 第二十六章 流程控制: case分支
  • 一键亮灯高级和弦触发自动鼓机:特伦斯自动挡钢琴开启音乐创作的全新时代
  • B站Miachael_ee——蓝牙教程笔记