uni-app中自定义动态底部tabbar(附示例源码)

UNIAPP 自带的原生导航尽管流畅度非常好,但是在具体项目中有的时候需要动态设置以及特殊样式的 底部菜单 这个时候就需要自己去写一个自定义的底部tabbar

项目地址 fr_uni_app

1、比如需要特殊的图标 多出来一部分的


多出一部分的图标

2、根据登陆帐号的身份加载不同的tabbar


根据登陆帐号的身份加载不同的tabbar
动图预览
预览
解决方案
  • 将整个首屏4个页面作为组件加载进来 如 入口 index.vue
  • 将 自定义tabbar 写到 index.vue 中 或将其封装为组件 加载进来
  • 使用vuex 统一管理数据
  • 使用小程序自定义组件去解析HTML代码 (UNI的wxParse 看着麻烦 直接撸小程序自定义组件)
引入组件(页面)
引入组件(页面)

渲染首页数据
底部tabbar的切换及数据来源

只要控制 store中的 底部菜单数据 即可。页面中动态渲染

export default {
    state:{
        footer_nav:[
            {
                name:'首页',
                name_code:'home',
                icon:'/static/footer_icon/a2.png',
                select_icon:'/static/footer_icon/a1.png'
            },
            {
                name:'发布',
                name_code:'publish',
                icon:'/static/footer_icon/f2.png',
                select_icon:'/static/footer_icon/f1.png'
            },
            {
                name:'我的',
                name_code:'my',
                icon:'/static/footer_icon/d1.png',
                select_icon:'/static/footer_icon/d2.png'
            },
            
        ],
        now_page_index:0,
    },
    mutations:{
        change_page(state,index){
            state.now_page_index = index;
        }
    }
}

添加了自己常用的 request请求模块

//请求示例
            this.$ajax
                .get({
                    url: '/admin/get_product_list',
                    data: {
                        a: 1
                    }
                })
                .then(res => {
                    this.$alert('状态码:' + res.code);
                    console.log(res);
                });

添加了自己封装的 上传图片的 模块

//上传示例
            async choose_img_upload(n) {
                this.data_null()
                let uploader = new this.$Uploader();
                let path_arr = await uploader.choose_and_upload(n);
                console.log(path_arr);
                this.img_urls = path_arr;
                console.log(this.img_urls)
            },
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,558评论 25 708
  • 一轮弯月,静静悬挂。 头发松松的盘在脑后,几缕散发轻抚脸颊,一轮明月淡淡的披上芈月的白白的披肩上。 空阔寂静的承明...
    莜麦花开阅读 289评论 6 2
  • 一,让偷走你时间的人滚蛋 二,不要把目标告诉别人 我自己就试过,在别人面前信誓旦旦地说出自己计划,然后幻想自己完成...
    幻想家Melon阅读 204评论 2 1
  • 武汉哈哈第一次在武汉看下这么大的雪不容易呢,回想可能今年大有不同呢,某人某事都有原因既然留下就算从来也是半年的改变...
    魔瞳lol阅读 233评论 0 0
  • 微风细扬,涤荡心中不灭的光。 群峰险峻,犹如岁月起伏无常。 游乐万峰,释放云般书卷压膛。 预祝科试,必将破兵斩将惊磅。
    菱角翰林阅读 196评论 0 0