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

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

相关推荐
用户059540174462 小时前
把AI对话记忆存储测试从手工改成Playwright+pytest,覆盖率从20%提到96%,回归时间缩短90%
前端·css
kyriewen2 小时前
别再这样写TypeScript了——Code Review中最常见的8个反模式
前端·javascript·typescript
名字还没想好☜2 小时前
Next.js ‘use client‘ 到底加在哪:Server/Client Components 边界与常见报错
开发语言·前端·javascript·react·next.js
午安~婉3 小时前
GitHub Token/ GitHub Stats统计显示图异常
前端·github·vercel·github token
码云之上3 小时前
AI Agent 工程化总览篇:从 Prompt 到 Harness
前端·人工智能
2501_926978333 小时前
以说明书 DNA 为模板——完整 AGI 的结构图景
前端·人工智能·经验分享·笔记·ai写作
IT_陈寒3 小时前
Vite静态资源引用这个坑我踩得有点疼
前端·人工智能·后端
程序员黑豆4 小时前
鸿蒙应用开发:AttributeModifier 使用教程
前端·harmonyos
codeniu4 小时前
TRAE Work 实战 | 从"有个想法"到线上Demo,我全程只靠对话就完成了
前端·trae
妙码生花4 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(五十):增加管理员角色组管理
前端·后端·ai编程