当前位置:   article > 正文

uniapp动态生成底部菜单_uniapp底部菜单

uniapp底部菜单

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

项目地址 fr_uni_app

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

 

多出一部分的图标

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

 

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

动图预览

预览

解决方案

  • 将整个首屏4个页面作为组件加载进来 如 入口 index.vue
  • 将 自定义tabbar 写到 index.vue 中 或将其封装为组件 加载进来
  • 使用vuex 统一管理数据
  • 使用小程序自定义组件去解析HTML代码 (UNI的wxParse 看着麻烦 直接撸小程序自定义组件)

引入组件(页面)

引入组件(页面)

 

渲染首页数据

底部tabbar的切换及数据来源

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

 

  1. export default {
  2. state:{
  3. footer_nav:[
  4. {
  5. name:'首页',
  6. name_code:'home',
  7. icon:'/static/footer_icon/a2.png',
  8. select_icon:'/static/footer_icon/a1.png'
  9. },
  10. {
  11. name:'发布',
  12. name_code:'publish',
  13. icon:'/static/footer_icon/f2.png',
  14. select_icon:'/static/footer_icon/f1.png'
  15. },
  16. {
  17. name:'我的',
  18. name_code:'my',
  19. icon:'/static/footer_icon/d1.png',
  20. select_icon:'/static/footer_icon/d2.png'
  21. },
  22. ],
  23. now_page_index:0,
  24. },
  25. mutations:{
  26. change_page(state,index){
  27. state.now_page_index = index;
  28. }
  29. }
  30. }

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

 

  1. //请求示例
  2. this.$ajax
  3. .get({
  4. url: '/admin/get_product_list',
  5. data: {
  6. a: 1
  7. }
  8. })
  9. .then(res => {
  10. this.$alert('状态码:' + res.code);
  11. console.log(res);
  12. });

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

 

  1. //上传示例
  2. async choose_img_upload(n) {
  3. this.data_null()
  4. let uploader = new this.$Uploader();
  5. let path_arr = await uploader.choose_and_upload(n);
  6. console.log(path_arr);
  7. this.img_urls = path_arr;
  8. console.log(this.img_urls)
  9. },



作者:马码虎呼
链接:https://www.jianshu.com/p/8fda7e91ee2b
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/89775
推荐阅读
相关标签
  

闽ICP备14008679号