小程序tabbar能放分包路径吗_微信小程序之如何自定义底部tabbar导航
我之前写一个微信小程序,保单万事通,有一个这样的功能
image.png
这个底部导航,如果用小程序自带的tabbar,根本无法实现,所有我想第2种方法来实现
微信小程序文档中,有一种这个方法,但是我不建议,体验极差。。。。使用首先可以通过在app.json里放入
{
"usingComponents": {
"mp-tabbar": "../../components/tabbar/tabbar"
}
}
然后组件引入
// page.js示例代码
Page({
data: {
list: [{
text: "对话",
iconPath: "/example/images/tabbar_icon_chat_default.png",
selectedIconPath: "/example/images/tabbar_icon_chat_active.png",
},
{
text: "设置",
iconPath: "/example/images/tabbar_icon_setting_default.png",
selectedIconPath: "/example/images/tabbar_icon_setting_active.png",
badge: 'New'
}]
},
tabChange(e) {
console.log('tab change', e)
}
});
但是这样写有个问题,就是换页面的时候,会导致整个页面重新刷新,用户体验不好
所以我建议,通过在app.json里放入tabbar
js
"tabBar": {
"custom": true,//组件替换属性
"color": "#7A7E83",
"selectedColor": "#333333",
"borderStyle": "black",
"backgroundColor": "#ffffff",
"list": [
{
"pagePath": "pages/guarantee/guarantee",
"iconPath": "assets/img/1.png",
"selectedIconPath": "assets/img/2.png",
"text": "保单万事通"
},
{
"pagePath": "pages/add/add",
"iconPath": "assets/img/add.png",
"text": "添加保单"
},
{
"pagePath": "pages/my/my",
"iconPath": "assets/img/6.png",
"selectedIconPath": "assets/img/7.png",
"text": "我的"
}
]
},
注意我加了一个属性 "custom": true,这个如果不加,就只能使用微信自带的tabbar底部导航了,无法按照自己的想法设计,所以,当你加了custom这个属性后,你只需要,在根目录下,添加一个组件 cumtom-tab-bar,你甚至都不需要去引进,小程序会自己去找这个组件,切记,放到根目录下,然后,你就可以随心所欲控制底部tabbar了
Component({
data: {
selected: 0,
color: "#7A7E83",
selectedColor: "#333333",
canCustom: true,
list: [
{
"pagePath": "/pages/guarantee/guarantee",
"iconPath": "/assets/img/1.png",
"selectedIconPath": "/assets/img/2.png",
"text": "保单"
},
{
"pagePath": "/pages/add/add",
"iconPath": "/assets/img/4.png",
"selectedIconPath": "/assets/img/add.png",
"text": "添加保单"
},
{
"pagePath": "/pages/my/my",
"iconPath": "/assets/img/6.png",
"selectedIconPath": "/assets/img/7.png",
"text": "我的"
}
]
},
created(){
},
lifetimes: {
attached: function () {
// getApp().watch(this.watchBack,this)
},
},
attached: function () {
// getApp().watch(this.watchBack, this)
},
methods: {
switchTab(e) {
const data = e.currentTarget.dataset
const url = data.path;
console.log(url);
var pages = getCurrentPages() //获取加载的页面
// var currentPage = pages[pages.length - 1] //获取当前页面的对象
// var urls = currentPage.route //当前页面url
// var options = currentPage.options //如果要获取url中所带的参数可以查看options
// console.log("route = ", urls);
console.log(url)
if (url == "/pages/add/add"){
getApp().globalData.switctTime++;
if (getApp().globalData.switctTime>1){
getApp().globalData.switctTime = 0;
wx.switchTab({
url: getApp().globalData.userUrl
})
return false;
}else{
wx.switchTab({
url:"/pages/add/add"
})
return false;
}
// if (urls == "pages/add/add"){
// getApp().globalData.userUrl = 1
// }
}else{
getApp().globalData.switctTime = 0;
getApp().globalData.userUrl = url;
}
// if(url==undefined){
// this.setData({
// selected: data.index
// })
// return;
// }
wx.switchTab({
url:url
})
this.setData({
selected: data.index
})
}
}
})
wxml
{{item.text}}
wxss
.tab-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: 48px;
background: white;
display: flex;
padding-bottom: env(safe-area-inset-bottom);
z-index: 10000;
}
.tab-bar-border {
background-color: rgba(0, 0, 0, 0.33);
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 1px;
transform: scaleY(0.5);
}
.tab-bar-item {
flex: 1;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
position: relative;
}
.tab-bar-item cover-image {
width: 27px;
height: 27px;
}
.tab-bar-item cover-view {
font-size: 10px;
}
小程序tabbar能放分包路径吗_微信小程序之如何自定义底部tabbar导航相关推荐
- 小程序tabbar能放分包路径吗_微信小程序底部导航Tabbar
底部导航栏这个功能是非常常见的一个功能,基本上一个完成的app,都会存在一个导航栏,那么微信小程序的导航栏该怎么实现呢?经过无数的踩坑,终于实现了,好了,先看看效果图. 对于底部导航栏,小程序上给出的 ...
- 微信小程序系统教程Java版[3/3阶段]_微信小程序电商系统-翟东平-专题视频课程...
微信小程序系统教程Java版[3/3阶段]_微信小程序电商系统-2445人已学习 课程介绍 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识. 微信小 ...
- 视频教程-微信小程序系统教程Java版[3/3阶段]_微信小程序电商系统-微信开发
微信小程序系统教程Java版[3/3阶段]_微信小程序电商系统 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试 ...
- 视频教程-微信小程序系统教程python版[3/3阶段]_微信小程序支付-手游开发
微信小程序系统教程python版[3/3阶段]_微信小程序支付 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试 ...
- 微信小程序 自动解决分包大小问题_微信小程序分包加载设置
设置分包加载 微信小程序分包限制为: 主包或者单个分包最大为2M 整体小程序所有包最大为8M 为什么需要设置分包? 小程序项目中,有多种角色(公共页面很少),设置分包加载方便管理 整个小程序压缩后代码 ...
- 微信小程序点击按钮弹出弹窗_微信小程序自定义弹窗(可通用)
本文为自定义弹窗,该内容可满足如下需求: 自定义各种布局弹窗. 点击弹窗布局外消失弹窗 弹出弹窗时背景阴影半透明 各方向弹出效果(本文为自下而上弹出). (后续可能会补充新需求,或可以留言讨论你的需求 ...
- 微信小程序页面上面的名字怎么改_微信小程序取名|如何修改名字|取名规则!...
原标题:微信小程序取名|如何修改名字|取名规则! 在过去的建站使其曾有「域名比老板重要」的说法,而现在,微信小程序的名字也至关重要,拥有一个好的名字,将能带来众多的流量.小程序名字虽然只是个简单的符号 ...
- 微信小程序 长按图片不出现菜单_微信小程序长按保存图片
微信浏览器打开h5页面如果是img标签的话,长按会弹出保存图片的选项.但是微信小程序里面不可以,需要自己写这个功能. 这个功能有两个点,一个是长按,一个是保存图片到本地. 1. 微信小程序关于图片长按 ...
- 微信小程序页面上面的名字怎么改_微信小程序改名方法,小程序名称设置规范...
小程序名称设置规范 1.名称设置方法 1)小程序名称可以由中文.数字.英文.长度在4-30个字符之间,一个中文字等于2个字符. 2)公众号.小程序在微信公众平台上的名称是唯一的,且属于同一主体下,可以 ...
最新文章
- python第三方库使用文档_python 的第三方库的使用
- 0074 几道面试题
- ZooKeeper系列(二)
- ARcore 相关学习
- Android 补间动画TranslateAnimation 位移效果
- input类型为number时鼠标滚动出现箭头
- 电脑屏幕为什么没有手机屏幕清晰?
- 摄像机DSP芯片介绍
- 接待员如何向客人upsell_前厅部接待员办理入住操作步骤
- windows环境部署django项目(可部署不同版本的django)
- 机器学习在美团配送系统的实践:用技术还原真实世界-笔记
- 猿创征文|Hexo+Github搭建完全免费个人博客详细教程
- 用Python求矩阵的广义逆
- MySQL添加字段和删除字段
- cad角度命令怎么输入_新手入门,学习CAD必须掌握,教你使用标注命令,绘图效率翻一倍...
- 从技术层面浅析美链BEC从诞生到覆灭
- 【文献翻译】信息安全管理自动化的可能性 - Automation possibilities in information security management
- HTML学习1:开发电影推荐网站
- 【JQ _DOM】DOM
- android studio怎么使用sharesdk,Android Studio中ShareSDK分享的使用.
热门文章
- 命令窗 创建vue 项目过程
- 信号量sem 的用法
- C、C++用指针引用的差异
- 如何构建自己的笔记系统?
- .iOS APP Project or Mac APP Project编译错误提示: My Mac 64-bit is not valid for Running the scheme...
- 51CTO下载中心资源上传协议
- Linux(centos7.4)上FTP服务器搭建(使用yum)
- linux通过rpm和yum安装包
- rename table table1 to table2;
- 【Data Guard】Oracle DataGuard 搭建