赞
踩
应用需要根据登录的角色属性来渲染不同的 tabbar
效果如下图所示
在每个tabBar
页面添加如下代码(用 u-tabbar
会自动隐藏原来的 tabbar
)
<template> <div> <u-tabbar :list="tabbar" :mid-button="false"></u-tabbar> </div> </template> <script> data(){ return { tabbar:[] } } onLoad(){ // tabbar 的值跟你的项目有关,这里只是举例子 this.tabbar = [{ iconPath: "/static/uview/example/component.png", selectedIconPath: "/static/uview/example/component_select.png", text: '组件', count: 2, isDot: true, pagePath: "/pages/index/index" }, { iconPath: "/static/uview/example/js.png", selectedIconPath: "/static/uview/example/js_select.png", text: '工具', midButton: true, pagePath: "/pages/js/index" }, { iconPath: "/static/uview/example/template.png", selectedIconPath: "/static/uview/example/template_select.png", text: '模板', pagePath: "/pages/template/index" }, ]; } </script>
然后就可以试一试了
我是把tabbar 这些数据放到了vuex
里,点击按钮之后,更新tabbar
,并重新赋值。
登录成功后切换到tabbar
页面,报错 object
答:应该是路径写错的问题
// 错误的写法
wx.switchTab({
url: 'pages/staffInfo/index'
})
// 正确的写法
wx.switchTab({
// url: '../../staffInfo/index', // 这个也可以
url: '/pages/staffInfo/index'
})
其实做完之后还会遇到个问题,因为小程序起始页是固定的,如果当前角色的tabbar 中没有起始页,如何处理?
答:我的做法是,在起始页中判断并跳转。
1. Tabbar 底部导航栏,实战部分比较有用,可以下demo自己试一下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。