微信小程序搭建一个底部导航栏
时间: 2023-09-20 14:07:26 浏览: 117
要在微信小程序中搭建一个底部导航栏,可以按照以下步骤进行:
1. 在 app.json 文件中配置底部导航栏的样式和页面路径
在 app.json 文件中,可以通过 tabBar 字段来配置底部导航栏的样式和页面路径。例如:
```
"tabBar": {
"color": "#999",
"selectedColor": "#07c160",
"backgroundColor": "#fff",
"borderStyle": "black",
"list": [
{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "images/tab-bar/home.png",
"selectedIconPath": "images/tab-bar/home-active.png"
},
{
"pagePath": "pages/cart/cart",
"text": "购物车",
"iconPath": "images/tab-bar/cart.png",
"selectedIconPath": "images/tab-bar/cart-active.png"
},
{
"pagePath": "pages/user/user",
"text": "我的",
"iconPath": "images/tab-bar/user.png",
"selectedIconPath": "images/tab-bar/user-active.png"
}
]
}
```
其中,color 和 selectedColor 分别表示未选中和选中时的文字颜色,backgroundColor 表示背景色,borderStyle 表示边框样式,list 中的每一个对象表示一个底部导航栏的选项,pagePath 表示对应的页面路径,text 表示文字描述,iconPath 和 selectedIconPath 分别表示未选中和选中时的图标路径。
2. 在 app.wxss 文件中设置底部导航栏的样式
在 app.wxss 文件中,可以设置底部导航栏的样式。例如:
```
.tab-bar {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
display: flex;
justify-content: space-around;
align-items: center;
background-color: #fff;
border-top: 1px solid #ccc;
}
.tab-bar-item {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.tab-bar-item-text {
font-size: 12px;
margin-top: 6px;
}
.tab-bar-item-icon {
width: 24px;
height: 24px;
}
```
其中,.tab-bar 表示底部导航栏的样式,.tab-bar-item 表示每一个选项的样式,.tab-bar-item-text 和 .tab-bar-item-icon 分别表示文字和图标的样式。
3. 在各个页面中设置底部导航栏的选中状态
在各个页面中,可以通过设置页面的 onShow 函数和页面路径来设置底部导航栏的选中状态。例如:
```
onShow: function() {
wx.setNavigationBarTitle({
title: '首页'
})
const currentPage = getCurrentPages().pop()
if (currentPage.route === 'pages/index/index') {
this.setData({
activeTabBarIndex: 0
})
}
}
```
其中,wx.setNavigationBarTitle 可以设置页面的标题,getCurrentPages().pop() 可以获取当前页面的路径,this.setData 可以设置页面的数据,activeTabBarIndex 表示当前选中的底部导航栏的索引。通过判断当前页面的路径来设置相应的选中状态。
通过以上步骤,就可以在微信小程序中搭建一个底部导航栏了。
阅读全文