[组件]tabBar.wxml
<!--pages/components/tabBar/tabBar.wxml-->
<template name="tabBar">
<view class="tabbar_box" style="background-color:{{tabBar.backgroundColor}}; border-top-color:{{tabBar.borderStyle}}; {{tabBar.position == 'top' ? 'top:0' : 'bottom:0'}}">
<block wx:for="{{tabBar.list}}" wx:for-item="item" wx:key="index">
<!--无事件-->
<!-- <navigator class="tabbar_nav" url="{{item.pagePath}}" style="width:{{1/tabBar.list.length*100}}%; color:{{item.selected ? tabBar.selectedColor : tabBar.color}}" open-type="redirect">
<image class="tabbar_icon" src="{{item.selected ? item.selectedIconPath : item.iconPath}}"></image>
<text>{{item.text}}</text>
</navigator> -->
<!--有事件-->
<view class="tabbar_nav" data-url='{{item.pagePath}}' bindtap='__bindNavigate' style="width:{{1/tabBar.list.length*100}}%; color:{{item.selected ? tabBar.selectedColor : tabBar.color}}">
<image class="tabbar_icon" src="{{item.selected ? item.selectedIconPath : item.iconPath}}"></image>
<text>{{item.text}}</text>
</view>
</block>
</view>
</template>
[组件]tabBar.wxss
/* pages/components/tabBar/tabBar.wxss */
.tabbar_box{
display: flex;
flex-direction: row;
justify-content: space-around;
position: fixed;
bottom: 0;
left: 0;
z-index: 999;
width: 100%;
height: 120rpx;
/* border-top: 1rpx solid gray; */
animation: rightIn .1s;
-webkit-animation: rightIn .1s; /* Safari 与 Chrome */
}
.tabbar_nav{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-size: 28rpx;
height: 100%;
}
.tabbar_icon{
width: 61rpx;
height: 61rpx;
}
@keyframes rightIn
{
from {left: 100%;}
to {left: 0;}
}
@-webkit-keyframes rightIn /* Safari 与 Chrome */
{
from {left: 100%;}
to {left: 0;}
}
@keyframes backgroundIn
{
from {background: transparent;}
to {background: white;}
}
@-webkit-keyframes backgroundIn /* Safari 与 Chrome */
{
from {background: transparent;}
to {background: white;}
}
[全局数据]app.js
globalData: {
userInfo: null,
tabBarStaff: {
color: "#999999",
selectedColor: "#0ABA07",
borderStyle: "white",
backgroundColor: "#f7f7fa",
list: [
{
pagePath: "/pages/allquotations/allquotations",
text: "项目",
iconPath: "/resources/images/search_gray.png",
selectedIconPath: "/resources/images/search_HL.png",
selected: false
},
{
pagePath: "/pages/newquotation/newquotation",
text: "新建",
iconPath: "/resources/images/add_gray.png",
selectedIconPath: "/resources/images/add_HL.png",
selected: false
},
{
pagePath: "/pages/myquotation/myquotation",
text: "我的",
iconPath: "/resources/images/user_gray.png",
selectedIconPath: "/resources/images/user_HL.png",
selected: true
}
],
position: "bottom"
},
tabBarLeader: {
color: "#999999",
selectedColor: "#0ABA07",
borderStyle: "white",
backgroundColor: "#f7f7fa",
list: [
{
pagePath: "/pages/allquotations/allquotations",
text: "审批",
iconPath: "/resources/images/search_gray.png",
selectedIconPath: "/resources/images/search_HL.png",
selected: false
},
{
pagePath: "/pages/newquotation/newquotation",
text: "员工",
iconPath: "/resources/images/add_gray.png",
selectedIconPath: "/resources/images/add_HL.png",
selected: false
},
{
pagePath: "/pages/myquotation/myquotation",
text: "报价",
iconPath: "/resources/images/user_gray.png",
selectedIconPath: "/resources/images/user_HL.png",
selected: false
},
{
pagePath: "/pages/myquotation/myquotation",
text: "我的",
iconPath: "/resources/images/user_gray.png",
selectedIconPath: "/resources/images/user_HL.png",
selected: false
}
],
position: "bottom"
},
tabBarAdmin: {
color: "#999999",
selectedColor: "#0ABA07",
borderStyle: "white",
backgroundColor: "#f7f7fa",
list: [
{
pagePath: "/pages/allquotations/allquotations",
text: "用户",
iconPath: "/resources/images/search_gray.png",
selectedIconPath: "/resources/images/search_HL.png",
selected: false
},
{
pagePath: "/pages/newquotation/newquotation",
text: "报价",
iconPath: "/resources/images/add_gray.png",
selectedIconPath: "/resources/images/add_HL.png",
selected: false
},
{
pagePath: "/pages/myquotation/myquotation",
text: "产品",
iconPath: "/resources/images/user_gray.png",
selectedIconPath: "/resources/images/user_HL.png",
selected: false
},
{
pagePath: "/pages/myquotation/myquotation",
text: "我的",
iconPath: "/resources/images/user_gray.png",
selectedIconPath: "/resources/images/user_HL.png",
selected: false
}
],
position: "bottom"
},
formIds:[],
},
/**
* 更新tabBar
*/
editTabBar: function () {
var tabBar = {};
wx.removeStorageSync("yqs_user_role")
var role = wx.getStorageSync("yqs_user_role") || wx.setStorageSync("yqs_user_role", "STAFF") && wx.getStorageSync("yqs_user_role");
// 根据角色选择不同的tabBar
if (role == "STAFF"){
tabBar = this.globalData.tabBarStaff;
} else if (role == "LEAD") {
tabBar = this.globalData.tabBarLeader;
} else if (role == "ADMIN") {
tabBar = this.globalData.tabBarAdmin;
}else{
tabBar = this.globalData.tabBarStaff;
}
console.log("role:", role, "tabBar:", tabBar);
var currentPages = getCurrentPages();
var _this = currentPages[currentPages.length - 1];
var pagePath = _this.__route__;
console.log("current path:", pagePath);
(pagePath.indexOf('/') != 0) && (pagePath = '/' + pagePath);//如果tabBar.list[index].pagePath不是以“/”开始 则加上
for (var i in tabBar.list) {
tabBar.list[i].selected = false;
(tabBar.list[i].pagePath == pagePath) && (tabBar.list[i].selected = true);
}
_this.setData({
tabBar: tabBar
});
},
需要使用的一级页面:example.wxml
<import src="../components/tabBar/tabBar.wxml"/>
<template is="tabBar" data="{{tabBar}}"/>
example.js
,<!--有事件 需要-->
__bindNavigate: function (e) {
util.switchTabBar(this.route,e);
},
util.js
// 自定义tabBar 跳转事件
function switchTabBar(currRoute,e){
var currUrl = currRoute;
var url = e.currentTarget.dataset.url;
(currUrl.indexOf('/') != 0) && (currUrl = '/' + currUrl);
console.log('url:', url);
console.log('currUrl:', currUrl);
if (currUrl != url) {
wx.redirectTo({
url: url,
})
} else {
wx.showToast({
title: '试试下拉页面刷新页面吧',
image: "/resources/images/nomore.png"
})
}
}
相关推荐
实现微信小程序自定义tabbar
微信小程序原生组件自定义Tabbar创建tabbar代码文件配置信息tab页 创建tabbar代码文件 微信官网tabbar 在根目录下创建文件夹custom-tab-bar及相关页面 custom-tab-bar/index.js custom-tab-bar/index.json custom-tab-bar/index.wxml custom-tab-bar/index.wxss cust...
【微信小程序】自定义 tabBar
首先来看一下页面演示效果,页面中有下方标签栏是自定义 tabBar。自定义 tabBar 可以让开发者更加灵活地设置 tabBar 样式,以满足更多个性化的场景。自定义组件Vant 组件库MobX 数据共享组件样式隔离组件数据监听器组件的 behaviorsVant 样式覆盖。
微信小程序之自定义tabBar及切换不同版本显示不同tabBar
今天,我在写页面的时候,碰到需要切换不同身份(两个版本)时候底部tabBar显示不同,我的解决方法是: 首先在components(组件模板)下新建一个tabBar.wxml: <template name="tabBar"> <view class="tab-bar" style="color: {{tabBar.color}}; background: {{tarBar.backgroundColor}}; {{tabBar.position=='top'? 'top: 0
微信小程序自定义tabBar
微信小程序自定义tabbar
微信小程序 - 自定义tabBar
微信小程序默认的tabBar只能提供给开发者修改下颜色,然后就没了。 有的人想要最求个性化的tabBar,比如想要在tab中间加一个巨大的扫码按钮,这是很常见的。那么这时候,自定义tabBar就派上用场了。 做过小程序的应该都知道,定义默认样式的tabBar可以在app.json 的tabBar 属性中定义配置tabBar,如下: { ... "tabBar": { "color": "#666666", "selectedColor": "#4d8970",
Uniapp开发微信小程序实现自定义的tabBar样式?
微信小程序提供了一定的tabBar样式自定义选项,例如可以设置背景颜色、字体颜色、选中图标等。但是,这种方法的样式定制能力是有限的。配置tabBar属性在pages.json文件中配置tabBar属性,如下所示。"color": "#333", // 未选中时的颜色"selectedColor": "#00bfff", // 选中时的颜色"backgroundColor": "#ffffff", // tabBar的背景色。
【微信小程序】基础篇 -- 案例 - 自定义 tabBar(四十六)
大家好,又见面了,我是夜阑的狗🐶,本文是专栏【微信小程序开发教程】专栏的第46篇文章;今天开始学习微信小程序的第28天💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。 此专栏是我是夜阑的狗微信小程序开发过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。前面已经介绍了分包-独立分包 & 分包预下载,通过栗子学习了如何设置独立分包以及分包预下载。
某头部能源集团“数据治理”到“数智应用”跃迁案例剖析
本次案例能源企业实现了从“数据可用”到“指标驱动”再到“智能决策”的全链条升级,标志着集团在数字化、智能化治理能力上的系统跃升,构建起面向未来的数智管理新范式。
微信小程序自定义 TabBar,我会了!
实现了自定义 TabBar,并且能够根据需要控制其显示与隐藏。
基于Gardner环的QPSK定时同步MATLAB仿真:四倍采样与多场景性能分析
本文详细介绍了基于Gardner环的QPSK定时同步MATLAB仿真方法,重点分析了四倍采样技术在定时同步中的应用与性能优化。通过MATLAB代码实例展示了Gardner环的实现原理、多场景性能分析及常见问题解决方案,为数字通信系统的定时同步设计提供实用参考。
数字逻辑EduCoder课设项目 厨房计时器系统设计 Logisim实现
数字逻辑EduCoder课设项目 厨房计时器系统设计 Logisim实现
微信小程序 自定义 tabBar
微信小程序 自定义 tabBar
【仓颉 + 鸿蒙 + AI Agent】CangjieMagic框架(3):Agent请求和响应
CangjieMagic框架:使用华为仓颉编程语言编写,专门用于开发AI Agent,支持鸿蒙、Windows、macOS、Linux等系统。这篇文章剖析一下 CangjieMagic 框架中的 AgentRequest 和 AgentResponse。
微信小程序自定义tabbar
自己看了微信小程序,因为需要用到字体图标,所以需要自定义一个tabbar,自己学的来源于,网络上的一个热心博主的分享,这个是他原博客的连接 我是先创建了一个文件夹,相当于存放了tabbar组件,里面新建一系列的文件。 先简单讲下tabbar各个文件的内容。 tabbar.json内容 { "component": true, "usingComponents": {} } wxml...
ESD镜像解密与转换全攻略:从esd-decrypter到WinNTSetup的完整流程
本文详细解析了ESD镜像的加密特性与压缩优势,并提供了从解密到转换的完整实战指南。核心步骤包括使用esd-decrypter工具解密ESD文件为WIM格式,以及如何结合WinNTSetup进行灵活的系统安装或进一步封装为可引导的ISO镜像,帮助用户高效处理官方Windows安装镜像。
RT-DETR改进策略【Conv和Transformer】| ICCV-2023 iRMB 倒置残差移动块 轻量化的注意力模块
本文记录的是利用模块优化的目标检测网络模型。的作用在于克服了常见模块无法同时吸收CNN 效率建模局部特征和利用Transformer 动态建模能力学习长距离交互的问题。相比一些复杂结构或多个混合模块的方法,能更好地权衡模型成本和精度。本文将其用于的模型改进和二次创新,更好地突出重要特征,提升模型性能。Rethinking Mobile Block for Efficient Attention-based Models从微观角度看,由和组成。及其改进的实现代码如下: 四、创新模块 4.1 改进点1⭐ 模块
微信小程序自定义tabBar问题和自定义tabBar实现
微信小程序自定义 tabBar微信小程序自定义 tabBar先简单介绍一下微信官方提供的自定义tabBar 的用法实际使用中出现问题?自助自定义tabBar组件实现custom-tab-bar 代码页一起奉上 微信小程序自定义 tabBar 基础库 2.5.0 开始支持,低版本需做兼容处理。 微信小程序基础库 2.5.0 开始微信官方开放自定义底部 tabBar 组件 。主要是为了让开发者可以更加灵活地设置 tabBar 样式,以满足更多个性化的场景。但是在实际开发者使用微信官方提供的组件 , 适配和兼容
Flink 运维监控与指标采集实战(Prometheus + Grafana 全流程)
Flink运维监控在实时计算场景中至关重要,因为Flink作业需要7×24小时稳定运行,对性能、资源、故障感知和状态变化的实时监控是保障系统稳定的关键。Flink自带的Metrics系统提供了基本的监控能力,但为了更全面的监控,Prometheus+Grafana成为最主流的解决方案。通过配置PrometheusReporter和Grafana仪表盘,可以实现对Flink作业的全面监控,包括CPU、内存、吞吐量、Checkpoint状态、KafkaSink性能等关键指标。此外,自定义指标采集和报警机制的配置
微信小程序tabBar开启custom,小程序自定义tabbar组件
微信小程序tabBar开启custom,自定义tabbar组件 小程序自带的tabBar样式,选中样式时:只能更改图标和文字的颜色。现在我需要选中时,当前选中的标签背景色变为红色,好像自带的并不能满足,因此琢磨了一下自定义组件。小程序自带的tabBar是在app.json里配置,可参考官网(https://developers.weixin.qq.com/miniprogram/dev/frame...
21、汽车喷漆目标区域识别:机器学习与深度学习的应用
本文探讨了机器学习与深度学习在汽车喷漆目标区域识别中的应用,重点利用卷积神经网络(CNN)提高喷漆效率并减少油漆浪费。通过构建和预处理包含多种汽车类型的数据集,采用ResNet-18、ResNet-50和MobileNet-v2等模型进行训练与评估,结果表明ResNet-50在准确率和鲁棒性方面表现最佳。研究还分析了数据裁剪、标签处理、网络架构差异以及光照和遮挡对识别效果的影响,并提出了系统实现流程。最后,文章展望了多传感器融合、模型优化和场景适应性等未来研究方向,为智能化喷漆工艺提供了技术参考。
迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)
迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)
微信小程序自定义tabbar以及闪烁问题
微信小程序的标题栏,具体描述不需要太多解释,但是很多时候,不满足于默认的配置的时候,需要我们手动的去绘制一个tabbar。比如一般社交平台软件会要求中间有一个突出的发布按钮,此时就需要重新定制下tabbar了。
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
微信小程序自定义tabbar(不使用原生tabbar)
假如想完全自定义微信小程序的tabbar,实现如下效果: 实现步骤: a.创建一个tabbar组件 // .wxml文件 <view class="tabbar"> <navigator wx:for="{{tabbarList}}" wx:key="txt" url="{{item.url}}" class="tabbar-item" open-type="switchTab" hover-class="nav-hover"> <image wx:if="{{i
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
怀旧版电脑GBC模拟器
再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。
微信小程序用vant自定义tabbar页面并跳转相应页面
微信小程序用vant自定义tabbar并跳转相应页面
微信小程序 自定义 tabBar案例 官方案例迁入无效解决方法 非 tab 页显示 tabBar的问题解决 自定义tabBar与原生tabBar以及自写伪tabbar的区别
今天同事问我这个微信小程序的自定义 tabBar,有个问题,那么作为做了快两年的小程序的我 那当然是…没有啦,自定义 tabBar刚出来不久,最近的小程序设计图也未涉及需要自定义的 , 不过作为一名程序员,对代码的事情都是尽量不能说No的 那么肯定给写个案例耍耍 首先介绍一下微信小程序的自定义 tabBar 有些看官嫌我话多(滑稽.jpg)的话就直接拉下去看案例源码吧 看上去是不是特别...
1505



被折叠的 条评论
为什么被折叠?



