[FE] uViewUI u-navbar 曲線解決 uni onNavigationBarButtonTap 的限制與失效
阿新 • • 發佈:2020-12-13
uni 自帶的 navigation bar 對於普通的導航需求是夠用的,也允許onNavigationBarButtonTap 加點選事件。
但是會出現異常Bug,表現為在內部頁面一番操作後,再返回到主頁,主頁導航上的onNavigationBarButtonTap 點選無效。
你也能在社群看到這些問題似乎一直存在:https://ask.dcloud.net.cn/question/63407
另一方面是 onNavigationBarButtonTap 本身限制目前只支援 APP、H5。
一種解決方式是 使用 u-navbar,pages.json 中自定義導航設定,區域性如下:
{"pages": [ { "path": "pages/index/index", "style": { "navigationStyle": "custom" , "navigationBarTextStyle": "white" } }
] }
然後在 vue 頁面中使用 u-navbar,元件不帶有事件,但是我們可以在外包一層 <view @click='xx'> 加上 click 事件來解決。
<view @click='navbarTap'> <u-navbar :is-back="false" :border-bottom="false" :background="backgroundColor" :title="navbarTitle" title-width="320rpx" title-color="white" > </u-navbar> </view>
我們也不再是使用uni.setNavigationBarTitle 來設定導航文字,賦值元件上使用的變數就可以了。