土菜馆 發表於 2019-11-15 15:51:00

uni-app tabBar 踩坑

<div class="cnblogs_code"><img id="code_img_closed_36b1575f-e30c-4b64-b184-7e58886231b5" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_36b1575f-e30c-4b64-b184-7e58886231b5" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_36b1575f-e30c-4b64-b184-7e58886231b5" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">{
    </span>"pages": [ <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages</span>
<span style="color: rgba(0, 0, 0, 1)">      {
            </span>"path": "pages/index/index"<span style="color: rgba(0, 0, 0, 1)">,
            </span>"style"<span style="color: rgba(0, 0, 0, 1)">: {
                </span>"navigationBarTitleText": "uni-app"<span style="color: rgba(0, 0, 0, 1)">
            }
      },
      {
            </span>"path": "pages/index/index0"<span style="color: rgba(0, 0, 0, 1)">,
            </span>"style"<span style="color: rgba(0, 0, 0, 1)">: {
                </span>"navigationBarTitleText": "uni-app000"
                <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> "app-plus":{</span>
                <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">   "titleNView":{</span>
                <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">         "buttons":[</span>
                <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">             {</span>
                <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">               "type":"back",</span>
                <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">               "color":"#333333",</span>
                <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">               "text":"返回",</span>
                <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">               "float":"left"</span>
                <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">             }</span>
                <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">         ]</span>
                <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">   }</span>
                <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> }</span>
<span style="color: rgba(0, 0, 0, 1)">            }
      },
      {
            </span>"path": "pages/components/shitu"<span style="color: rgba(0, 0, 0, 1)">,
            </span>"style"<span style="color: rgba(0, 0, 0, 1)">: {
                </span>"navigationBarTitleText": "视图"<span style="color: rgba(0, 0, 0, 1)">,
                </span>"navigationBarBackgroundColor":"#333333"<span style="color: rgba(0, 0, 0, 1)">,
                </span>"navigationBarTextStyle":"white",<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">导航字体颜色</span>
                "enablePullDownRefresh":<span style="color: rgba(0, 0, 255, 1)">true</span>,<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">是否下拉刷新</span>
                "navigationStyle":"default",<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">设置为custom导航栏消失</span>
                "app-plus"<span style="color: rgba(0, 0, 0, 1)">: {
                  </span>"bounce":"none"<span style="color: rgba(0, 0, 0, 1)">,
                  </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> "animationType": "slide-in-right",</span>
                  <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> "animationDuration": 300000,</span>
                  "titleNView"<span style="color: rgba(0, 0, 0, 1)">: {
                        </span>"titleText":"设置视图文件"<span style="color: rgba(0, 0, 0, 1)">,
                        </span>"buttons"<span style="color: rgba(0, 0, 0, 1)">:[
                            {
                              </span>"type":"back"<span style="color: rgba(0, 0, 0, 1)">,
                              </span>"color":"#FFFFFF"<span style="color: rgba(0, 0, 0, 1)">,
                              </span>"float":"left"<span style="color: rgba(0, 0, 0, 1)">
                            },
                            {
                              </span>"type":"share"<span style="color: rgba(0, 0, 0, 1)">,
                              </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> "text":"\ue534",</span>
                              "colorPressed":"#c8000a"<span style="color: rgba(0, 0, 0, 1)">,
                              </span>"color":"#FFFFFF"<span style="color: rgba(0, 0, 0, 1)">,
                              </span>"float":"right"<span style="color: rgba(0, 0, 0, 1)">,
                              </span>"badgeText":"12"<span style="color: rgba(0, 0, 0, 1)">,
                              </span>"redDot":<span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
                            }
                        ]
                  }
                  
                }
            }
      }
    ],
    </span>"globalStyle"<span style="color: rgba(0, 0, 0, 1)">: {
      </span>"navigationBarTextStyle": "black"<span style="color: rgba(0, 0, 0, 1)">,
      </span>"navigationBarTitleText": "uni-app"<span style="color: rgba(0, 0, 0, 1)">,
      </span>"navigationBarBackgroundColor": "#F8F8F8"<span style="color: rgba(0, 0, 0, 1)">,
      </span>"backgroundColor": "#F8F8F8"<span style="color: rgba(0, 0, 0, 1)">
    },
    </span>"tabBar"<span style="color: rgba(0, 0, 0, 1)">:{
      </span>"color":"#4CD964"<span style="color: rgba(0, 0, 0, 1)">,
      </span>"backgroundColor":"#333333"<span style="color: rgba(0, 0, 0, 1)">,
      </span>"fontSize":"14px"<span style="color: rgba(0, 0, 0, 1)">,
      </span>"height":"44px"<span style="color: rgba(0, 0, 0, 1)">,
      </span>"selectedColor":"#007AFF"<span style="color: rgba(0, 0, 0, 1)">,
      </span>"position":"bottom"<span style="color: rgba(0, 0, 0, 1)">,
      </span>"list"<span style="color: rgba(0, 0, 0, 1)">:[
            {
                </span>"pagePath":"pages/components/shitu"<span style="color: rgba(0, 0, 0, 1)">,
                </span>"iconPath":"static/logo.png"<span style="color: rgba(0, 0, 0, 1)">,
                </span>"selectedIconPath":"static/logo.png"<span style="color: rgba(0, 0, 0, 1)">,
                </span>"text":"组件"<span style="color: rgba(0, 0, 0, 1)">
            },
            {
                </span>"pagePath":"pages/index/index"<span style="color: rgba(0, 0, 0, 1)">,
                </span>"iconPath":"static/logo.png"<span style="color: rgba(0, 0, 0, 1)">,
                </span>"selectedIconPath":"static/logo.png"<span style="color: rgba(0, 0, 0, 1)">,
                </span>"text":"API"<span style="color: rgba(0, 0, 0, 1)">
            }
            </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> ,</span>
            <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> {</span>
            <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">   "pagePath":"pages/index/index0",</span>
            <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">   "iconPath":"static/logo.png",</span>
            <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">   "selectedIconPath":"static/logo.png",</span>
            <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">   "text":"API01"</span>
            <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> }</span>
<span style="color: rgba(0, 0, 0, 1)">      ]
    }
}</span></pre>
</div>
<span class="cnblogs_code_collapse">View Code</span></div>
<p>描述:tabBar跳转的路由 默认header 是没有返回按钮的 只有其他方式跳转的页面 会显示返回键(tabBar默认是没有上一页所以 不需要显示返回键)</p>
<p>  如果想显示返回键 需要 自定义 顶部导航;</p>
<p>bug1:自定义导航(需要在页面利用onNavigationBarButtonTap方法监听其中要注意 当前方法 与data同级)如果利用&nbsp;uni.navigateTo返回(tabBar其中的路径会报错:navigateTo:fail can not navigateTo a tabbar page)需要用到uni.switchTab才可以跳转;</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">      onNavigationBarButtonTap(e) {
            console.log(</span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">)
            console.log(</span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.$mp)
            uni.switchTab({
                url: </span>'/pages/index/index'<span style="color: rgba(0, 0, 0, 1)">
            })
            </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> uni.navigateBack({</span>
            <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">   delta: 2</span>
            <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> });</span>
            <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> history.back(2)</span>
            <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> this.$router.history.go(-1)</span>
      }</pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/lst619247/p/11867235.html
頁: [1]
查看完整版本: uni-app tabBar 踩坑