知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁(yè) » 新聞資訊 » 小程序相關(guān) >
小程序開發(fā)(三)自定義tabBar組件
發(fā)表時(shí)間:2020-10-19
發(fā)布人:葵宇科技
瀏覽次數(shù):47
前言:小程序內(nèi)置的tabBar組件跳轉(zhuǎn)后,底部的tabBar還是一直存在的。有時(shí)候我們點(diǎn)擊tabBar后是希望跳到一個(gè)完整的界面,而不是還帶有tabBar的界面。這時(shí)候我們就得自定義tabBar了。
配置信息
- 在 app.json 中的 tabBar 項(xiàng)指定 custom 字段。
- 所有 tab 頁(yè)的 json 里需聲明 usingComponents 項(xiàng),或者全局引入(在微信開發(fā)工具創(chuàng)建頁(yè)面時(shí),json文件中會(huì)自動(dòng)生成,不用擔(dān)心這個(gè)配置的問題)
添加 tabBar 代碼文件
- 在文件的根目錄下添加
這里的文件夾名稱必須是custom-tab-bar,組件名稱必須為index
編寫tabBar(這里用自定義組件的方式編寫就可以)
- wxml,wxss都是直接復(fù)制官方文檔的實(shí)例代碼。有需要的可以直接去下就可以了
https://developers.weixin.qq.com/miniprogram/dev/framework/ability/custom-tabbar.html
這里需要修改的地方是在wxml文件中綁定data-subpage。
- index.js
Component({
data: {
selected: 0,
color: "#7A7E83",
selectedColor: "#3cc51f",
"list": [
{
"pagePath": "/pages/index/Index",
"iconPath": "/images/u101.png",
"selectedIconPath": "/images/u101_selected.png",
"text": "首頁(yè)"
},
{
"subpage":"true",
"pagePath": "/pages/shop/Shop",
"iconPath": "/images/shop_cart.png",
"selectedIconPath": "/images/shop_cart.png",
"text": "購(gòu)物車"
},
{
"pagePath": "/pages/mine/Mine",
"iconPath": "/images/u98.png",
"selectedIconPath": "/images/u98_selected.png",
"text": "我的"
}
]
},
/**
* 組件的方法列表
*/
methods: {
switchTab(e) {
const data = e.currentTarget.dataset
const url = data.path
if(data.subpage){
wx.navigateTo({url:url,
complete:function(res){
console.log(res)
}, })
}else{
console.log(e)
wx.switchTab({url})
}
this.setData({
selected: data.index
})
}
}
})
說(shuō)白了就是在data中添加一個(gè)屬性subpage(自定義的)來(lái)控制自定義tabBar組件列表的元素的跳轉(zhuǎn)方式的。
通過 getTabBar 接口獲取組件實(shí)例,并調(diào)用 setData 更新選中態(tài)。
- 在每一個(gè)tab頁(yè)面的周期函數(shù)onShow里添加如下代碼(注意:每個(gè)tab頁(yè)面的selected值不同,對(duì)應(yīng)“custom-tab-bar”中data的list數(shù)組中的下標(biāo))
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
this.getTabBar().setData({
selected: 0
})
}
注意:app.json文件中不能配置用wx.navigateTo()跳轉(zhuǎn)的頁(yè)面。
預(yù)覽
相關(guān)案例查看更多
相關(guān)閱讀
- 云南網(wǎng)站建設(shè)快速優(yōu)化
- 網(wǎng)絡(luò)公司排名
- 網(wǎng)站建設(shè)特性
- 楚雄小程序開發(fā)
- 大理網(wǎng)站建設(shè)公司
- 云南網(wǎng)站設(shè)計(jì)
- 網(wǎng)站排名
- 昆明網(wǎng)站制作
- 國(guó)內(nèi)知名網(wǎng)站建設(shè)公司排名
- 百度推廣
- 云南旅游網(wǎng)站建設(shè)
- 電商網(wǎng)站建設(shè)
- 霸屏推廣
- 網(wǎng)站建設(shè)列表網(wǎng)
- 百度快速排名
- 百度自然排名
- 云南做軟件
- 云南網(wǎng)頁(yè)制作
- 麗江小程序開發(fā)
- 全國(guó)前十名小程序開發(fā)公司
- 百度小程序開發(fā)
- 汽車報(bào)廢拆解管理系統(tǒng)
- 網(wǎng)站優(yōu)化哪家好
- 微信分銷
- 網(wǎng)站制作哪家好
- 定制小程序開發(fā)
- 云南小程序開發(fā)課程
- 云南小程序開發(fā)制作
- 河南小程序制作
- 網(wǎng)站制作