## 1.關于自定義導航欄切換閃爍問題
自定義導航欄,在app和小程序端,切換的時候,導航或頁面會閃爍一下,客戶體驗不佳。
解決思路:
**1、使用uniapp的原生導航,在 pages.json 配置文件里,用以下配置替換原來的 tabBar 配置。需要的端使用條件編譯判斷**。
~~~scss
"tabBar": {
"color": "#999",
"selectedColor": "#000",
"backgroundColor": "#FFFFFF",
"borderStyle": "white",
"list":[{
"pagePath": "pages/index/index",
"iconPath": "static/tabbar/home.png",
"selectedIconPath": "static/tabbar/home-hl.png",
"text": "首頁"
},
{
"pagePath": "pages/article/article",
"iconPath": "static/tabbar/article.png",
"selectedIconPath": "static/tabbar/article-hl.png",
"text": "資訊"
},
{
"pagePath": "pages/product/product",
"iconPath": "static/tabbar/image.png",
"selectedIconPath": "static/tabbar/image-hl.png",
"text": "產品"
},
{
"pagePath": "pages/index/my",
"iconPath": "static/tabbar/my.png",
"selectedIconPath": "static/tabbar/my-hl.png",
"text": "我的"
}
]
},
~~~
2、使用uniapp 的原生導航,即在思路1的基礎上,調用api`uni.setTabBarItem`重設導航。
更多詳細的配置參數見:https://uniapp.dcloud.io/api/ui/tabbar
在 APP.vue 的 onShow 方法里,加上以下配置
~~~javascript
// #ifdef APP-PLUS
let tabbar = this.vuex_config.tabbar;
if(!tabbar){
this.$util.setTabbar(this.vuex_tabbar);
return;
}
let num = 0;
for (let i in tabbar.list) {
try{
let imagepath = await this.$util.image_cache(tabbar.list[i].image);
let selectedImage = await this.$util.image_cache(tabbar.list[i].selectedImage);
tabbar.list[i].image = imagepath;
tabbar.list[i].selectedImage = selectedImage;
num = i;
}catch(e){
console.log(e)
}
}
//全部下載成功使用服務器的導航,否則啟用本地備用導航
if((parseInt(num)+1) == tabbar.list.length){
this.$util.setTabbar(tabbar);
}else{
this.$util.setTabbar(this.vuex_tabbar);
}
// #endif
~~~
注意事項說明:
> *\**`目前的 uniapp前端 源碼在app端使用的是第二種方法`。代碼見`pages.json`和`app.vue`兩個文件,使用條件編譯區分了。當你需要修改為第一種方案時,比如微信小程序,那需要在`pages.json`加上條件編譯`|| MP-WEIXIN`和`\addons\cms\uniapp\components\fa-tabbar\fa-tabbar.vue`這個文件的條件編譯也加上`|| MP-WEIXIN`即可!其實就是配置原生的tabbar,去掉自定義的tabbar
> ***若使用自定義導航,把pages.json的tabBar配置和app.vue里的APP端的條件編輯以及`\addons\cms\uniapp\components\fa-tabbar\fa-tabbar.vue`的APP的條件編譯代碼移除即可。***
>
>
> 如使用思路2,重設的導航,想增加或刪除一個導航,需要更改兩個地方,
> (一)、在pages.json里的tabbar新增或刪除。
> (二)、在后臺的移動端樣式管理,也需要新增或刪除即可。
- 概述
- 安裝
- 配置
- 模板
- 標簽
- 全局標簽
- 文檔/文檔列表
- 專題/專題列表
- 欄目/欄目列表
- 公共參數
- 單頁/單頁列表
- 特殊標簽
- 欄目列表頁
- 分頁標簽
- 自定義字段
- ThinkPHP5標簽
- 自定義表單數據列表
- 自定義過濾條件
- 用戶信息
- 模板目錄
- API
- 小程序
- 控制器
- Archives.php
- Base.php
- Common.php
- Index.php
- My.php
- User.php
- 準備工作
- 導入項目
- 修改配置
- 測試數據
- 多語言
- 常見問題
- Uniapp版
- 1.準備工作
- 1.HbuilderX安裝
- 2.Hbuilder 插件安裝
- 2.導入項目
- 3.運行項目
- 1.運行前的配置
- 2.運行為H5
- 3.運行為微信小程序
- 4.運行為APP
- 4.項目發布
- 1.發布H5端
- 2.發布微信小程序
- 3.發布APP
- 5.登錄配置
- 6.常見問題
- 1.關于自定義導航欄切換閃爍問題
- 2.關于后臺移動端樣式預覽問題
- 3.關于支付配置的問題
- 4.前端跨域的問題
- 5.關于各端內容分享的問題
- 6.關于簽到問題
- 7.關于公眾號授權登錄問題
- 8.關于底部導航的追加或刪除問題
- 9.運行微信小程序,進入微信小程序客戶端后,沒有底部菜單
- 10.關于首頁焦點圖的修改
- 11.關于發布小程序代碼大小超出的問題
- 12.前端顯示空白或白屏或提示網絡請求錯誤的問題
- 13.關于如何在非tabbar配置頁面顯示tabbar導航
- 14.關于更換資訊頁為主頁的問題
- 15.關于更新1.4.4版本分包問題
- 16.Tabbar底部高亮顯示問題
- 17.微信小程序獲取手機號失敗
- 18.微信小程序從頁面側滑返回或按鍵返回時Tabbar丟失的問題
- 19.Tabbar底部不支持外部鏈接的修復方法
- API文檔
- 公共接口(Common)
- 文檔接口(Archives)
- 評論接口(Comment)
- 自定義表單(Diyform)
- 短信驗證碼(Sms)
- 郵箱驗證碼(Ems)
- 登錄/注冊(Login)
- 我的接口(My)
- 搜索文檔(Search)
- 標簽文檔(Tag)
- 日志中心(TheLogs)
- 會員中心(User)
- 專題接口(Special)
- 功能解說
- 自動內鏈
- 自定義表單
- 區塊管理
- 欄目管理
- 模型管理
- 偽靜態
- Sitemap
- 安全更新