小程序底部tabbar加数字标
小程序底部tabbar悬浮数字标功能
实现效果如下:
大家都知道小程序的底部,是通过APP,JSON进行配置的,如果想要在下面的tabbar上面做手脚的话,网上搜索是找不到方法的,好多小白见到这种需求都感觉无从下手,如果你也遇到这种问题,那就好好研究一下API吧,话不多说,上代码:
//这里我们只介绍我们用到的方法wx.setTabBarBadge({//这个方法的意思是,为小程序某一项的tabbar右上角添加文本index: 0, //代表哪个tabbar(从0开始)text: '1' //显示的内容
})wx.removeTabBarBadge({//这个方法为移除当前tabbar右上角的文本index: 2, //代表哪个tabbar(从0开始)})
下面来看我的实现逻辑
首先,因为我的tabbar底部的是需要填充数量,然而添加购物车的按钮很多,所以为了时时监听,我在APP.js里面做了如下操作:
//首先定义了一个方法timer: false,scanCart: function (that) {//我把购物车里面的数据都塞到了缓存里,取名cart,任何一项修改购物车的行为,都会先取购物车的缓存,在重新更新缓存里的购物车参数//购物车var cart = wx.getStorageSync("cart");//统计购物车商品的总数量var cartnumber = 0; //购物车菜品的一共的数量for (var index in cart) {cartnumber += cart[index].num}if (cart.length) { //判断购物车的数量个数,购物车如果为空就走elsewx.setTabBarBadge({ //购物车不为空 ,给购物车的tabar右上角添加购物车数量标志index: 2, //标志添加位置text: "" + cartnumber + "" //通过编译,将购物车总数量放到这里})} else {//购物车为空wx.removeTabBarBadge({ //移除指定位置的tabbar右上角的标志index: 2,})}},
你以为这么就完了?这只能做基础的更改,因为每次加入购物车,数据都要刷新,但是,页面不刷新我们该怎么做,逻辑如下,
在APP.JS的生命周期函数onLaunch里面,写一个计时器,每过(100毫秒)就重新取购物车的缓存,计算数量重新塞到tabbar的标志里,这个方法每过100毫秒执行一次,所以购物车的缓存只要在任何地方做了更改,下面的标志就会紧跟着随着改变。
代码如下:
onLaunch: function (options) {var that = this;//初始化购物车that.timer = setInterval(function () {that.scanCart(that)}, 100);that.scanCart(that);},
小结:这里面一定要注意,其他任何地方对购物车做了修改,一定要同时更改一下购物车的缓存数据,防止数据乱掉。有任何问题欢迎一起学习研究,微信:w827306356
小程序底部tabbar加数字标相关推荐
- 用mpx框架自定义小程序底部tabbar
小程序[mpx] 用mpx框架自定义小程序底部tabbar 参考小程序官方文档:自定义 tabBar. 1.项目根目录下app.mpx** 1).添加"custom":" ...
- 小程序底部tabBar购物车右上角增加数字
小程序底部tabBar购物车右上角增加数字 data: {num:'1'},onShow:function(){var num=1;if(num==''){wx.removeTabBarBadge({ ...
- uniapp小程序底部tabbar图标大小设置
小程序底部tabbar图标大小设置 在uniapp中小程序的tabbar没有设置图标大小的属性,导致小程序在不同平台打开时图标大小显示的不一样,特别是在电脑微信打开小程序时,底部的图标就会特别大,使得 ...
- 微信小程序底部tabBar配置
文章目录 什么是tabBar tabBar节点的配置项 配置tabBar选项的步骤 1. 新增tabBar节点 2. 新增list数组 3. 更改tabBar上文字被选中时的颜色 什么是tabBar ...
- 微信小程序底部tabBar购物车右上角增加数字
// pages/cart/cart.js; onShow: function () {var num = 1; //购物车商品数量if (num == '') {wx.removeTabBarBad ...
- 小程序底部tabbar设置扫一扫功能
效果图及需要的页面: custom-tab-bar/index.js Component({data: {selected: 0,"color": "#bfb ...
- aos动画库反向播放,pdf复制出现乱码,微信小程序底部栏联系客服
少小多才学,平生志气高.别人怀宝剑,我有笔如刀. 记录一些遇到的问题- 本文大概3000字,阅读大概需要9分钟 ** 本文目录 一.pdf复制出现乱码问号问题 二.aos动画库反向播放问题 三.微信 ...
- 微信小程序底部实现自定义动态Tabbar
多图警告!!! 最近在工作中遇到这样一个需求:微信小程序底部的Tab需要通过判断登录人的角色动态进行改变,想要实现这个功能依靠小程序原生的Tabbar是不可能实现的了,所以研究了一下自定义Tab,这里 ...
- 小程序 底部导航栏(tabBar)图标的正确做法
许多人都认为小程序系统的底部导航栏特别不好看,为了美观而选择自定义,从此身陷漩涡无法自拔.其实真正的原因是图标的图片处理不当(说白了就是前端和设计太菜了),导致会有线条变粗,间距不当的视觉感受. 除小 ...
最新文章
- 最大流 ---- 最大权值闭合子图 CodeForces - 1082G[把边抽象成点]
- NVIDIA新作解读:用GAN生成前所未有的高清图像(附PyTorch复现) | PaperDaily #15
- boost::coroutine模块实现合并数组的测试程序
- GDCM:提取JP2文件所有解析度的测试程序
- 使用Maven设置您的应用服务器
- java rotate怎么用_jQuery旋转插件jqueryrotate用法详解
- java字段注解类型数组_Java注解用法
- YII 规则rule 里面 min,max 提示错误信息
- CSS知识点补充收集
- “编程能力差,90%输在了这点上!”阿里巴巴工程师:其实都是瞎努力!
- leetcode(226)—— Invert Binary Tree(Python/C++)
- Pr 入门教程,如何隔离颜色?
- 用oracle的sqlload导入文件到数据库
- 1.4.PHP7.1 狐教程-环境(Mac下 PHP开发环境 配置及安装 php7.1.x nginx mysql)
- unityui计分_铅计分成长
- 如何使用html写一个简单的登录页面
- java 获取明天12点日期
- 阿里P6到P9的技术栈有哪些?程序员该如何准备学习?如何进入大厂
- CRUP为后面使用框架在页面上增删改查做下铺垫.
- 新课改计算机论文,新课改论文
热门文章
- 安装 Windows Server 2019 VM虚拟机
- (ESLint)Expected '===' and instead saw '=='
- 利用OpenCV计算图像二维熵
- 近视眼学计算机好吗6,怎么会加重眼睛的近视,近视加重与6个原因有关
- SAP中外协加工BOM物料消耗问题处理实例
- 2019年游戏行业的6个趋势
- 【转载】大型医疗器械辐射发射的检测方法
- 腾讯云轻量应用服务器一键搭建Discuz Q
- Windows+COLMAP三维重建教程【exe安装】
- ADN中国团队参加微软的Kinect全国大赛获三等奖,我们团队的创意项目用Kinect在Naviswork中虚拟漫游