微信小程序怎么实现非tabbar页面显示tabbar,自定义组件实现

微信小程序没有发现可以实现非tabbar页面显示tabbar的方法,但是可以在tabbar页面当中隐藏tabbar,使用wx.hideTabBar()方法就可以实现,在非tabbar页面调用wx.showTabBar()方法却会显示失败,不能显示tabbar

javascript 复制代码
        onLoad() {
			wx.showTabBar({
				success() {
					console.log('success')
				},
				fail(err) {
					console.log(err, 'fail')
				}
			})
		},    

报错如下:显示该页面非tabbar页面


可以选择自定义组件组件实现,代码实现如下:

在项目根目录下面创建一个组件文件(/component/tabbar/index.vue)

javascript 复制代码
<template>
	<view>
		<view class="tabbar">
			<u-tabbar :value="value1" @change="tabbarChange" :fixed="false" :placeholder="false"
				:safeAreaInsetBottom="false">
				<u-tabbar-item text="求职者" icon="home"></u-tabbar-item>
				<u-tabbar-item text="聊天" icon="photo"></u-tabbar-item>
				<u-tabbar-item text="通讯录" icon="play-right"></u-tabbar-item>
				<u-tabbar-item text="我的" icon="account"></u-tabbar-item>
			</u-tabbar>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				value1: 0,
				url: '/pages/A/index'
			};
		},
		onLoad() {
			this.tabbarChange()
		},
		methods: {
			tabbarChange(index) {
				console.log('click', index);
				this.value1 = index
				tabbarIndex === 0 ? this.url = '/pages/A/index' : ''
				tabbarIndex === 1 ? this.url = '/pages/B/index' : ''
				tabbarIndex === 2 ? this.url = '/pages/C/index' : ''
				tabbarIndex === 3 ? this.url = '/pages/D/index' : ''
				wx.navigateTo({
					url: this.url,
				})
			}
		}
	}
</script>

<style lang="less">
	.tabbar {
		width: 100%;
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 99;
		box-shadow: 0rpx -8rpx 16rpx 0rpx rgba(208, 208, 208, 0.3);
	}
</style>

创建好了之后需要微信小程序里面的page.json文件引入

javascript 复制代码
{
    "usingComponents": {
		"tabbar": "../../components/tabbar/index"
	},
}

然后在需要tabbar页面当中进行注册并使用,这样就可以实现在任何需要tabbar的页面当中展示tabbar了

javascript 复制代码
<template>
    <view>
        <tabbar></tabbar>
    </view>
</template>

<script>
	import tabbar from '../../../component/tabbar/index.vue'
	export default {
		components: {
			tabbar
		},
		data() {
			return {
				
			}
		},
	}
</script>

不过在这个实现过程中使用了uview组件库,目前来看这个组件库还是能够满足小程序开发中的需求的,有常见的一些功能,很方便使用

介绍 | uView 2.0 - 全面兼容 nvue 的 uni-app 生态框架 - uni-app UI 框架

安装和配置在官网中都有相关使用步骤,可以查看!

相关推荐
好_快26 分钟前
Lodash源码阅读-sortedUniqBy
前端·javascript·源码阅读
小流苏生30 分钟前
这只是一罐过期了七年的红牛……
前端·人工智能·程序员
风清云淡_A1 小时前
【angular19】入门基础教程(一):项目的搭建与启动
前端·angular.js
好_快1 小时前
Lodash源码阅读-without
前端·javascript·源码阅读
Sc Turing1 小时前
【Vue3-Bug】中路由加载页面直接显示空白
前端·bug
好_快1 小时前
Lodash源码阅读-baseDifference
前端·javascript·源码阅读
云之兕1 小时前
Spring Boot 中多线程的基础使用
java·前端·spring boot
LaughingZhu2 小时前
PH热榜 | 2025-04-26
前端·数据库·人工智能·mysql·开源
说私域3 小时前
开源AI智能名片链动2+1模式S2B2C商城小程序源码赋能下的社交电商创业者技能跃迁与价值重构
人工智能·小程序·重构·开源·零售
萌萌哒草头将军8 小时前
⚡⚡⚡尤雨溪宣布开发 Vite Devtools,这两个很哇塞 🚀 Vite 的插件,你一定要知道!
前端·vue.js·vite