当前位置: 首页 > news >正文

uniapp如何根据不同角色自定义不同的tabbar

思路:

1.第一种是根据登录时获取的不同角色信息,来进行 跳转到不同的页面,在这些页面中使用自定义tabbar

2.第二种思路是封装一个自定义tabbar组件,然后在所有要展示tabbar的页面中引入使用

1.根据手机号码一键登录,在回调中获取用户信息进行跳转

  /*** @param {object} e 获取手机号码组件回调参数* @description 家政人员一键登录组件回调*/async getPhoneNumber(e) {if (e.detail.errMsg == "getPhoneNumber:ok") {this.phoneCode = e.detail.code;if (this.loginCode == "") {await this.getCode();}this.loginForm = {loginCode: this.loginCode,phoneCode: this.phoneCode,};this.$http.staffWxLogin(this.loginForm).then(res => {if (res.code == 200) {console.log(res, 'res')uni.setStorageSync("token", res.data.token);uni.setStorageSync("employeeStaffId", res.data.userId);uni.setStorageSync('userType', 1);/*** 家政端*/// uni.reLaunch({//   url: '/pages/bottomPage/index'// })/*** 司机端*/uni.reLaunch({url: "/page-diver/diver/tabBar/tabBar"})}})}},

2.在tabbar页面中完成自定义tabbar,并完成根据激活的tabbar展示不同页面的逻辑

其实就是调用v-if来控制不同页面的显示

<template><view style="height: 100vh; overflow-y: hidden;display: flex;flex-direction: column;"><view style="overflow-y: hidden;flex-grow: 10;"><!-- 首页 --><scroll-view style="height: 100%;" v-if="currentTab === 'index'" scroll-y><index-com></index-com></scroll-view><!-- 客户 --><scroll-view style="height: 100%;" v-if="currentTab === 'customer'"><index-com></index-com></scroll-view><!-- 人员 --><view style="height: 100%;" v-if="currentTab === 'person'" ><index-com></index-com></view><!-- 合同 --><view style="height: 100%;" v-if="currentTab === 'contract'"><index-com></index-com></view><!-- 工具 --><view style="height: 100%;" v-if="currentTab === 'tool'" scroll-y><index-com></index-com></view></view><!-- tabBar --><u-tabbar :value="currentTab" :fixed="true" :placeholder="true" :safeAreaInsetBottom="true"activeColor="#FF7993" inactiveColor="#A7A7A7" style="flex: 0"><u-tabbar-item  v-for="(item,index) in iconList"  :text="item.label" :key="index" :icon="item.isActive?item.active:item.path" @click="barClick"></u-tabbar-item></u-tabbar> </view>
</template><script>import indexCom from '../index/index.vue'export default {components: {indexCom,},data() {return {currentTab: 'index',iconList: [{path:'/static/tabBar/diver-home.png',active:'/static/tabBar/diver-achome.png',name:'index',isActive:true,label:'首页'},{path:'/static/tabBar/diver-car.png',active:'/static/tabBar/diver-accar.png',name:'tool',isActive:false,label:'我的车队'},{path:'/static/tabBar/diver-my.png',active:'/static/tabBar/diver-acmy.png',name:'my',isActive:false,label:'我的'}]}},methods: {barClick(e,name){for(let i =0;i<this.iconList.length;i++){if(i === e){if(!this.iconList[i].isActive){this.iconList[i].isActive = truethis.currentTab =iconsole.log(this.currentTab,'currentTab')}}else{this.iconList[i].isActive = false}}}}}
</script><style></style>

第二张思路就不赘述了,直接用上面的tabbar封装成组件引用即可,主要在pages.json中将tabbarlist设为空数组。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java虚拟机对象创建过程
  • MySQL使用LIKE索引是否失效的验证
  • 探索InitializingBean:Spring框架中的隐藏宝藏
  • 【SpringCloud应用框架】Nacos集群架构说明
  • 回溯法:生成一个字符串的所有排列组合
  • 计算组的妙用!!页面权限控制
  • 【web APIs】快速上手Day05(Bom操作)
  • Java求解百钱买百鸡问题(课堂实例2)
  • Ubuntu24.04LTS基础软件下载
  • SystemUIService启动-Android13
  • 高防服务器的重要性
  • 增量联邦学习是什么
  • 【JavaEE】多线程进阶
  • 华为路由器静态路由配置(eNSP模拟实验)
  • 动态规划 剪绳子问题
  • CentOS7简单部署NFS
  • git 常用命令
  • python 学习笔记 - Queue Pipes,进程间通讯
  • vue-router的history模式发布配置
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 机器学习中为什么要做归一化normalization
  • 你真的知道 == 和 equals 的区别吗?
  • 前端知识点整理(待续)
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 责任链模式的两种实现
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #微信小程序(布局、渲染层基础知识)
  • (3)nginx 配置(nginx.conf)
  • (函数)颠倒字符串顺序(C语言)
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (七)Activiti-modeler中文支持
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (转)原始图像数据和PDF中的图像数据
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Core 发展历程和版本迭代
  • .NET Framework .NET Core与 .NET 的区别
  • .NET Framework 3.5安装教程
  • .NET 指南:抽象化实现的基类
  • .net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .NET性能优化(文摘)
  • //usr/lib/libgdal.so.20:对‘sqlite3_column_table_name’未定义的引用
  • /bin、/sbin、/usr/bin、/usr/sbin
  • ::
  • [ C++ ] STL---string类的使用指南
  • [ACTF2020 新生赛]Include
  • [Android] Upload package to device fails #2720
  • [android] 练习PopupWindow实现对话框
  • [BZOJ3211]:花神游历各国(小清新线段树)
  • [C#]winform基于opencvsharp结合Diffusion-Low-Light算法实现低光图像增强黑暗图片变亮变清晰
  • [C/C++]数据结构----顺序表的实现(增删查改)
  • [C++] C++11详解 (一)