在微信小程序的開發(fā)過程中如果有使用過tabbar的同學(xué),我相信一定會(huì)遇到一些困擾。愛掏網(wǎng) - it200.com為什么有些時(shí)候代碼中明明已經(jīng)在app.json里面增加了tabbar,可以頁面中就是不顯示呢?可不可以有些頁面顯示tabbar,而有些頁面不顯示tabbar呢?今天我把我在開發(fā)過程中遇到的問題整理出來跟大家分享。愛掏網(wǎng) - it200.com
問題1:為什么頁面底部不顯示tabbar?
很多網(wǎng)友(包括我自己)也遇到過此類問題,在app.json里面明明加了tabbar,list里面也加了路徑怎么就是不顯示呢?舉例,如下代碼,為什么屏幕頁面底部沒有如期出現(xiàn)tabbar呢?
{ "pages":[ "pages/clickDemo/clickDemo", "pages/logs/logs", "pages/index/index", "pages/mypage/mypage" ], "window": { "backgroundTextStyle": "dark ", "navigationBarBackgroundColor": "#ddd", "navigationBarTitleText": "Tabbar Demo", "navigationBarTextStyle": "black", "backgroundColor": "#ff0000" }, "tabBar": { "color": "#000000", "borderStyle": "#000", "selectedColor": "#9999FF", "list": [ { "pagePath": "pages/index/index", "text": "首頁", "iconPath": "image/location_normal.png", "selectedIconPath": "image/location_selected.png" }, { "pagePath": "pages/logs/logs", "text": "設(shè)置", "iconPath": "image/setting_normal.png", "selectedIconPath": "image/setting_selecred.png" } ] } }登錄后復(fù)制
我們看一下頁面的顯示結(jié)果如下:
原因是:pages數(shù)組的第一項(xiàng)必須是tabBar的list數(shù)組的一員。愛掏網(wǎng) - it200.com
我們可以看看上面代碼中的pages數(shù)組的內(nèi)容是:
"pages":[ "pages/clickDemo/clickDemo", "pages/logs/logs", "pages/index/index", "pages/mypage/mypage" ]登錄后復(fù)制
tabbar中l(wèi)ist數(shù)組內(nèi)容是:
"list": [ { "pagePath": "pages/index/index", "text": "首頁", "iconPath": "image/location_normal.png", "selectedIconPath": "image/location_selected.png" }, { "pagePath": "pages/logs/logs", "text": "設(shè)置", "iconPath": "image/setting_normal.png", "selectedIconPath": "image/setting_selecred.png" }登錄后復(fù)制
是不是發(fā)現(xiàn)為什么底部不出現(xiàn)TabBar?原因在于,app.json頭部的pages數(shù)組的第一項(xiàng)"pages/clickDemo/clickDemo"沒有成為tabBar的一員,也就是在tabBar的list數(shù)組內(nèi)沒有鏈接clickDemo頁面的條目。愛掏網(wǎng) - it200.com
【解決辦法】1.我們?cè)趌ist數(shù)組內(nèi)加入鏈接clickDemo頁面的條目,下面給出了這段代碼。愛掏網(wǎng) - it200.com
{ "pagePath": "pages/clickDemo/clickDemo", "text": "事件Demo", "iconPath": "image/setting_normal.png", "selectedIconPath": "image/setting_selecred.png" }登錄后復(fù)制
效果如下:
方法2.把pages數(shù)組的第一項(xiàng)設(shè)置為"pages/index/index",或者設(shè)置為"pages/logs/logs"。愛掏網(wǎng) - it200.com當(dāng)然這個(gè)方法并不是我們所期望看到的。愛掏網(wǎng) - it200.com經(jīng)過實(shí)踐發(fā)現(xiàn):app.json中pages數(shù)組中第一項(xiàng)(首頁),必須在tabBar---list數(shù)組中出現(xiàn),list中第幾個(gè)無所謂;但如果首頁不在list里面,當(dāng)然無法渲染出來,這就可以理解app.json是首次頁面配置了
問題2:有沒有什么辦法讓小程序首頁不顯示tabbar,而非首頁顯示tabbar?
這個(gè)目前還沒有想到解決辦法,歡迎大家?guī)兔獯?br>問題3:有些頁面并不在tabbar的list頁面里面,為什么頁面底部也顯示tabbar呢?如果從一級(jí)頁面 redirectTo到其他頁面,會(huì)發(fā)現(xiàn)即使其他頁面沒有在 TabBar定義的列表里也會(huì)顯示TabBar,該如何解決?
【解決辦法】假如當(dāng)前也是一級(jí)頁面,到希望跳轉(zhuǎn)到的頁面不要有Tabbar時(shí),不要使用 redirectTo而是使用 navigateTo就可以了。愛掏網(wǎng) - it200.com
以上就是詳解微信小程序開發(fā)過程中tabbar頁面顯示問題的解決辦法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注愛掏網(wǎng) - it200.com其它相關(guān)文章!