uni-app混合开发中封装的顶部tabBar组件

<template>
	<view class="navbar">
		<view class="navbar-fixed">
			<!-- 状态栏 -->
			<view :style="{height:statusBarHeight+'px'}"></view>
			<!-- 导航栏内容 -->
			<view class="navbar-content" :style="{height:navBarHeight+'px',width:windowWidth+'px'}">
				<view class="navbar-serach">
					<view class="navbar-serach_icon">
						<!-- <text class="iconfont icon-sousuo"> </text> -->
						<uni-icons type="search" size="18" color="#999"></uni-icons>
					</view>
					<view class="navbar-serach_text">uni-app vue</view>
				</view>
			</view>
		</view>
		<view  style="height: 45px;"></view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				statusBarHeight:20,
				navBarHeight:45,
				windowWidth:375
			};
		},
		created() {
			//获取手机系统信息
		const info=uni.getSystemInfoSync()
		//设置状态栏高度
		this.statusBarHeight=info.statusBarHeight
		this.windowWidth=info.windowWidth
		// console.log(info)
		//H5 app mp-alipay不支持这个uni.getMenuButtonBoundingClientRect()api,给条件编译
		// #ifndef APP-PLUS || H5 || MP-ALIPAY
		//获取胶囊的位置
		const menuButtonInfo=uni.getMenuButtonBoundingClientRect()
		console.log(menuButtonInfo)
		//(胶囊底部高度-状态栏的高度)+(胶囊底部高度-状态栏内的高度)=导航的高度
		this.navBarHeight=(menuButtonInfo.bottom-info.statusBarHeight)+(menuButtonInfo.top+3-info.statusBarHeight)
		this.windowWidth=menuButtonInfo.left
		// #endif
		// console.log(navBarHeight)
		}
	}
</script>

<style lang="scss">
	@import '../../common/css/icons.css';
.navbar{
	.navbar-fixed{
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99;
		width: 100%;
		background-color: $mk-base-color;
		.navbar-content{
			height: 45px;
			display: flex;
			justify-content: center;
			align-items: center;
			padding: 0 15px;
			box-sizing: border-box;
			.navbar-serach{
				display: flex;
				align-items: center;
				width: 100%;
				height: 30px;
				padding: 0 10px;
				border-radius: 30px;
				background-color: #fff;
				.navbar-serach_icon{
					margin-right: 10px;
				}
			}
		}
		
	}
}
</style>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值