uni-app动态tabBar,根据不同用户展示不同的tabBar

这篇具有很好参考价值的文章主要介绍了uni-app动态tabBar,根据不同用户展示不同的tabBar。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.uni框架的api实现

因为我们用的是uni-app框架开发,所以在创建项目的时候直接创建uni-ui的项目即可,这个项目模板中自带了uni的一些好用的组件和api。

uni-app动态tabBar,根据不同用户展示不同的tabBar,前端,微信小程序,uni-app,前端

起初我想着这个效果不难实现,因为官方也有api可以直接使用,所以我最开始尝试就是使用uni的api完成,也就是这个:uni.setTabBarItem(options)

我也是根据官方文档一步一步做的,但是问题就是出现在该api无法将pagePath改变,导致虽然图片和其他的一些配置可以改变,但是最关键的没有该变,我想要的功能也是没有实现

uni-app动态tabBar,根据不同用户展示不同的tabBar,前端,微信小程序,uni-app,前端 我感觉我可能是对这句话理解有误差,导致的我没有完全实现此功能,然后去Dcloud社区问答看了有人也遇到了我这个问题,但是帖子下面并没有得到解决方法,所以我就想着只能去自定义了tabbar组件来实现此功能了。

 总之这个方法并没有完全实现,如果有能解决我这个问题的大佬可以私信我,万分感谢!!!

2.组件实现

为了效率呢,我就直接采用了Vant-Weapp组件库来实现此功能了

2.1下载vant库

npm i @vant/weapp -S --production

uniapp是没有默认的包管理器的,首先要有自己建一个

npm init -y

创建好后就可以下载vant包了

2.2使用vant-tabbar需要先引入对应的文件

我们在node_modules中找到vant包将其放到根目录下,为了方便我们引入

将dist文件放到一个新文件夹中

uni-app动态tabBar,根据不同用户展示不同的tabBar,前端,微信小程序,uni-app,前端uni-app动态tabBar,根据不同用户展示不同的tabBar,前端,微信小程序,uni-app,前端

 记住总文件夹的名字要是:wxcomponents,否则运行至微信小程序中是没有此文件的

在pages.json文件中这样引入:

uni-app动态tabBar,根据不同用户展示不同的tabBar,前端,微信小程序,uni-app,前端

 我的需求是在首页放一个登录页面,有用户user页面,admin页面,不同用户看到的页面也不同

我的页面设置是这样

uni-app动态tabBar,根据不同用户展示不同的tabBar,前端,微信小程序,uni-app,前端

 为了模拟,我在index放了二个按钮

<template>
	<view class="content">
		<button type="primary" @click="goUser">user</button>
		<button type="primary" @click="goAdmin">admin</button>
	</view>
</template>

<script>
	export default {
		data() {
			return {

			}
		},

		methods: {
			goUser() {
				uni.switchTab({
					url: '/pages/user/user'
				})
			},
			goAdmin() {
				uni.switchTab({
					url: '/pages/admin/admin'
				})
			}
		}
	}
</script>

uni-app动态tabBar,根据不同用户展示不同的tabBar,前端,微信小程序,uni-app,前端

现在配置pages.json中的tabbar

uni-app动态tabBar,根据不同用户展示不同的tabBar,前端,微信小程序,uni-app,前端

 这里就给出user中的例子来说明,admin中逻辑是一样的

user.vue

<template>
	<view>
		user
		<van-tabbar :active="active" @change="onChange">
			<van-tabbar-item icon="home-o" @click="goSwitch('/pages/user/user')">user</van-tabbar-item>
			<van-tabbar-item icon="search" @click="goSwitch('/pages/user_1/user_1')">user_1</van-tabbar-item>
		</van-tabbar>

	</view>
</template>

<script>
	export default {
		data() {
			return {
				active: 0 //高亮的图标的标
			}
		},
		onShow() {
			this.active = 0  //为了防止tabbar图标高亮切换卡顿问题
			uni.hideTabBar() //隐藏掉原始的tabbar
		},
		methods: {
			onChange(e) {
				this.active = e.detail
			},
			goSwitch(url) {
				uni.switchTab({
					url: url
				})
			}
		}
	}
</script>

<style>

</style>

user_1.vue

<template>
	<view>
		user1
		<van-tabbar :active="active" @change="onChange">
			<van-tabbar-item icon="home-o" @click="goSwitch('/pages/user/user')">user</van-tabbar-item>
			<van-tabbar-item icon="search" @click="goSwitch('/pages/user_1/user_1')">user_1</van-tabbar-item>
		</van-tabbar>

	</view>
</template>

<script>
	export default {
		data() {
			return {
				active: 0
			}
		},
		onShow() {
			this.active = 1
			uni.hideTabBar()
		},
		methods: {
			onChange(e) {
				this.active = e.detail
			},
			goSwitch(url) {
				uni.switchTab({
					url: url
				})
			}
		}
	}
</script>

<style>

</style>

然后这种功能就实现了

uni-app动态tabBar,根据不同用户展示不同的tabBar,前端,微信小程序,uni-app,前端

uni-app动态tabBar,根据不同用户展示不同的tabBar,前端,微信小程序,uni-app,前端

 文章来源地址https://www.toymoban.com/news/detail-698682.html

到了这里,关于uni-app动态tabBar,根据不同用户展示不同的tabBar的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app做h5IOS底部tabbar高度在不同的tabbar页面会忽高忽低

     原因不祥,解决办法的话在App.vue中

    2024年02月17日
    浏览(34)
  • 优雅实现微信小程序动态tabBar,根据不同用户角色显示不同底部导航——更新版(支持自由组合总数超过5个tabBar菜单)

    背景 在开发小程序过程中,有个需求是,小程序底部的tabBar需要根据不同用户角色显示不同底部导航。此时就需要用到自定义底部导航 custom-tab-bar。 上次发文是组合显示4个底部tabBar导航,很多小伙伴评论说组合超过5个怎么办。他们的需求总数超过5个了。 现在我在这里更新

    2024年02月03日
    浏览(32)
  • uni-app使用uview-ui实现动态更改底部tabbar

    需求:根据不同的权限(用户 0, 物业 1)展示不同的tabbar 这里使用的是uview-ui@1.8.4 tabbar 在utils文件夹下新建一个tabbar.js文件,来存储不同权限下的底部导航数据 在page.json文件里,把tabbar里的几个页面去重放进去tabBar。 使用vuex 新建store 文件夹存储相关数据 在入口文件 mai

    2024年02月12日
    浏览(37)
  • 基于自定义组件实现微信小程序动态tabBar,根据不同用户角色显示不同底部tabBar,支持自由组合总数超过5个(更新版)

    背景 在开发小程序过程中,有个需求是,小程序底部的tabBar需要根据不同用户角色显示不同底部导航。此时就需要用到自定义底部导航 custom-tab-bar。 上次发文是组合显示4个底部tabBar导航,很多小伙伴评论说组合超过5个怎么办。他们的需求总数超过5个了。 现在我在这里更新

    2024年01月17日
    浏览(26)
  • uni-app获取手机号-获取用户地理位置-根据位置获取经纬度跳转高德

    1.获取手机号首先要先登录拿到code,用code去获取session_key 2.获取 code需要知道自己的AppID(小程序ID)和AppSecret(小程序密钥) 3.解密后得到手机号  登录微信公众平台拿到自己的AppID(小程序ID)和AppSecret(小程序密钥)  微信公众平台  补充获取 code: 补充 获取openId: 获取session_key:

    2024年02月03日
    浏览(53)
  • uniapp 实现不同用户展示不同的tabbar(底部导航栏)

    目录 一、背景 源码地址:包含vue2和vue3版本:cheinlu/tabBar_demo_vue 二、效果展示 三、前置工作 四、创建tabbar组件 五、登录页面根据不同身份进行tabbar切换逻辑 六、问题拓展 最近在做一个uniapp开发的小程序遇到一个需求,希望不同用户登录后展示不同的tabbar页面,但是uniapp项

    2024年02月08日
    浏览(34)
  • uni-app tabbar组件

    锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni-app简介、第2讲 uni-app环境搭建、第3讲 uni-app之HelloWorld实现等,

    2024年02月04日
    浏览(31)
  • uni-app自定义tabbar(van-tabbar)

    main.vue custom-tabbar 全部菜单放在一个界面使用v-if显示隐藏的做法是因为单独页面的话第一次切换下标菜单栏会闪烁(但是使用v-if又要自定义导航栏,就…挺离谱的), 如果不使用这种v-if显示的话(单独页面)可以在每个菜单界面加上以下代码(会闪烁),如果大家有更好的

    2024年02月20日
    浏览(27)
  • uni-app 之 tabBar 底部切换按钮

    uni-app 之 tabBar 底部切换按钮 1693289945724.png // 常用颜色 // d81e06 紅 // #f4ea2a 黃 // #1afa29 綠 // #1296db 藍 // #13227a 青 // #d4237a 紫 // #ffffff 白 // #2c2c2c 黑

    2024年02月09日
    浏览(30)
  • uni-app uni.switchTab和uni.reLaunch跳转tabbar页面

    uni.switchTab: 跳转列表不会刷新 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。 uni.reLaunch: 跳转列表会刷新 关闭所有页面,打开到应用内的某个页面。( 可以跳转到tabBar 页面 ) 但如果是列表的自定义表头有多个title的时候需要加参数才能返回到对应的列表 如下图所示

    2024年02月11日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包