微信小程序下半部分
微信小程序下半部分通常指的是页面底部导航栏,也称为tabBar。它用于在小程序中切换不同的功能页面。要创建一个tabBar,你需要遵循以下步骤:
- 在
app.json
文件中,找到tabBar
字段并配置它。例如:
{
"pages": [
"pages/index/index",
"pages/logs/logs"
],
"tabBar": {
"list": [
{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "images/home.png",
"selectedIconPath": "images/home-active.png"
},
{
"pagePath": "pages/logs/logs",
"text": "日志",
"iconPath": "images/logs.png",
"selectedIconPath": "images/logs-active.png"
}
]
}
}
在这个例子中,我们定义了两个tabBar项,分别对应到pages/index/index
和pages/logs/logs
这两个页面。text
字段表示tabBar上的文本,iconPath
表示默认状态的图标,selectedIconPath
表示选中状态的图标。
- 根据需要,你还可以为tabBar添加一些属性,例如:
color
: tabBar上文字的默认颜色,默认为黑色。selectedColor
: tabBar上选中文字的字体颜色,默认为蓝色。backgroundColor
: tabBar的背景颜色,默认为白色。borderStyle
: tabBar的边框样式,默认为黑色单实线。
- 如果你需要在某个页面中隐藏tabBar,可以在该页面的
json
文件中添加如下代码:
{
"navigationBarTitleText": "隐藏tabBar页面",
"enableTabBar": false
}
这样,当用户进入这个页面时,tabBar将被隐藏。请注意,这种方法只会隐藏tabBar,而不会影响其他页面的tabBar。
- 你还可以通过编程方式动态修改tabBar的显示状态。
在
pages/index/index
页面中,你可以使用以下代码来切换tabBar的选中状态:
// app.js
App({
onLaunch: function() {},
globalData: {
selectedTabIndex: 0
}
})
// pages/index/index.js
Page({
data: {
selectedTabIndex: 0
},
onLoad: function() {
this.setData({
selectedTabIndex: this.options.tabBar.selectedTabIndex || 0
})
},
switchTab: function(e) {
const index = e.currentTarget.dataset.index;
this.setData({
selectedTabIndex: index
})
wx.switchTab({
url: '/pages/' + this.options.tabBar[index].pagePath
})
}
})
在这个例子中,我们将全局变量selectedTabIndex
存储在app.js
中,并在pages/index/index.js
中将其设置为当前选中的tabBar索引。然后,我们监听tabBar项的点击事件,并根据点击的索引更新selectedTabIndex
和切换到相应的页面。