微信小程序 ---- 解決自定義tabbar切換毛病

在custom-tab-bar.js的methods中新增一個(gè)方法

init() {
  const page = getCurrentPages().pop();
  const route = page ? page.route.split('?')[0] : '';
  
  const selected = this.data.list.findIndex(
    (item) => item.pagePath === "/" + route
  );
  this.setData({ selected });
},

在每個(gè)有tabBar的頁(yè)面的onShow方法中

onShow() {
  this.getTabBar().init();
},

不寫(xiě)注釋了,愛(ài)咋咋吧,情緒有些起伏……這破玩意兒整半天??

二編:
我想給這bar加點(diǎn)兒動(dòng)畫(huà),發(fā)現(xiàn)加得亂七八糟。想是因?yàn)閟witchTab就會(huì)讓它的路由進(jìn)行跳轉(zhuǎn),一旦跳轉(zhuǎn)到一個(gè)新的路由,整個(gè)頁(yè)面就會(huì)重新加載。于是每次新進(jìn)入到一個(gè)頁(yè)面,所有數(shù)據(jù)都會(huì)從頭來(lái)一遍。
而不管是transition還是animation,它倆的呈現(xiàn)都是建立在變化的基礎(chǔ)上。想要讓它規(guī)律地變化,我們得能確定它的開(kāi)始狀態(tài)。
可是這個(gè)bar,它開(kāi)始狀態(tài)我抓不住??比如現(xiàn)在從第2個(gè)進(jìn)入到第3個(gè),那么它的起始位置應(yīng)該是2??伤皇牵录虞d時(shí)它的起始位置會(huì)從0開(kāi)始。

我弄了一下午,甚至保存了上一個(gè)路由。發(fā)現(xiàn)不管咋的它就是得從0開(kāi)始。最后放棄了動(dòng)畫(huà)。找到可行的順暢的再來(lái)更新!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容