微信小程序怎么实现非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 框架

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

相关推荐
小小小小宇12 分钟前
前端实现合并两个已排序链表
前端
yngsqq30 分钟前
netdxf—— CAD c#二次开发之(netDxf 处理 DXF 文件)
java·前端·c#
mrsk33 分钟前
🧙‍♂️ CSS中的结界术:BFC如何拯救你的布局混乱?
前端·css·面试
jonssonyan35 分钟前
我自建服务器部署了 Next.js 全栈项目
前端
A了LONE38 分钟前
h5的底部导航栏模板
java·前端·javascript
专注VB编程开发20年40 分钟前
各版本操作系统对.NET支持情况(250707更新)
开发语言·前端·ide·vscode·.net
Zsnoin能1 小时前
AI + TailwindCSS快速搭建一个属于自己的TailwindCSS学习网站
前端·css
五号厂房1 小时前
聊一聊Javascript 中 hasOwnProperty和in操作之间的区别
前端
摆烂为不摆烂1 小时前
😁深入JS(六): 一文让你完全理解浏览器进程与线程
前端·javascript
qiyue771 小时前
Cursor 深度使用指南(二) - 新能力使用教程
前端·ai编程·cursor