uniapp微信小程序自定义导航,标题和小胶囊平行

这篇具有很好参考价值的文章主要介绍了uniapp微信小程序自定义导航,标题和小胶囊平行。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

uniapp有自带的自定义头部导航,但是又是满足不了我们的需求,就需要我们去自定义导航。

首先要把原来的navigationStyle设置为custom,去除自带的头部导航。在pages.json文件里,

{
            "root" : "doctorPage/",
            "pages" : [
                {
                    "path" : "doctorDetails/doctorDetails",
                    "style" : {
                        "navigationBarTitleText" : "专家详情",
                        "enablePullDownRefresh" : false,
                        "navigationStyle" : "custom"
                    }
                }
            ]
        },

创建一个组件,在需要的页面进行引用,

我是在components文件里创建了navBar文件。

uniapp 微信小程序标题,微信小程序,uni-app,javascript,小程序,前端

 下面是navBar的代码

<template>
	<view class="navbar" :style="{height:statusBarHeight+navBareight +'px'}"> <!-- 如若不写 高度始终为44 没有找到原因 -->
		<view class="narbar-flexd">
			<view :style="{height:statusBarHeight+'px'}"></view>
			<view class="narbar-content" :style="{height:navBareight+'px'}" >
				
				<!-- 左侧返回按钮 -->
				<view class="left" @click="onBack" v-if="back" :style="[{color},{paddingTop}]">
					<uni-icons type="arrowleft" size="25" :color='color' ></uni-icons>
					<!-- <u--image :showLoading="true" src="https://bsl-lj-rent.oss-cn-shanghai.aliyuncs.com/idn-mac/indexs/lianxi.png" width="60rpx" height="71rpx" @click="click"></u--image> -->
				</view>
				<view class="title">
					{{title}}
				</view>
			</view>
		</view>
		<view class="navHeight" :style="{height:statusBarHeight+navBareight +'px'}"></view>
	</view>
</template>
 
<script>
	export default {
		data() {
			return {
				statusBarHeight:20,
				navBareight: 45,
				windowWidth: 375,
			};
		},
		props:{
			title:{ // 标题文字(默认为空)
				type:String,
				default:'#fff'
			},
			color:{ // 标题和返回按钮颜色(默认白色)
				type:String,
				default:'#fff'
			},
		    //建议使用background  因为使用backgroundColor,会导致不识别渐变颜色
			background:{ // 背景颜色(不传值默认透明)
				type:String,
				default:'transparent'
			},
			back:{ // 是否显示返回按钮(不传值默认不显示)
				type:Boolean,
				default:false
			},
		},
		
		created() {
			//获取手机系统信息 -- 状态栏高度
			let {
				statusBarHeight,
				windowWidth
			} = uni.getSystemInfoSync()
			this.statusBarHeight = statusBarHeight
			this.windowWidth = windowWidth
			//去除
			//#ifndef H5 || MP-ALIPAY ||APP-PLUS
			//获取小程序胶囊的高度
			let {
				top,
				bottom,
				left
			} = uni.getMenuButtonBoundingClientRect()
			//高度 =(胶囊底部高低-状态栏高度)+(胶囊顶部高度-状态栏内的高度)
			this.navBareight = (bottom - statusBarHeight) + (top - statusBarHeight)
			this.windowWidth = left
			//#endif
		},
		
		methods: {
			// 左侧返回按钮调用
			onBack() {
				this.$emit("onBack");
				uni.navigateBack({
						delta:1,//返回层数,2则上上页
			    })
				
			}
		}
		
	}
</script>
 
<style lang="scss">
	.navbar {
		background-image: url('https://bsl-lj-rent.oss-cn-shanghai.aliyuncs.com/idn-mac/index/90.png') !important;
		background-size: 100% 100% !important;
		.narbar-flexd {
			background-image: url('https://bsl-lj-rent.oss-cn-shanghai.aliyuncs.com/idn-mac/index/90.png') !important;
			background-size: 100% 100% !important;
			position: fixed;
			top: 0;
			left: 0;
			z-index: 99;
			width: 100%;
			// padding-bottom: 10rpx;
			.narbar-content {
				// height: 45px;
				padding: 0 30px;
				// margin-bottom: 10px;
				display: flex;
				box-sizing: border-box;
				justify-content:center;
				align-items: center;
				.left{
					position: absolute;
					left: 5%;
					font-weight: 600;
				}
				.title{
					font-size: 16px;
					color: #fff;
					font-weight: 600;
				}
				
			}
 
			
		}
		.navHeight {
			height: 60px;
		}
	}
</style>

在页面中使引入uniapp 微信小程序标题,微信小程序,uni-app,javascript,小程序,前端

 uniapp 微信小程序标题,微信小程序,uni-app,javascript,小程序,前端 

 效果uniapp 微信小程序标题,微信小程序,uni-app,javascript,小程序,前端

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

 当然如果你不需要返回按钮,不要添加back就可以了。

uniapp 微信小程序标题,微信小程序,uni-app,javascript,小程序,前端

 uniapp 微信小程序标题,微信小程序,uni-app,javascript,小程序,前端

如果要添加其他的,如输入框,就可以模仿返回按钮。 

 

到了这里,关于uniapp微信小程序自定义导航,标题和小胶囊平行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 微信小程序自定义头部标题导航栏

    wxml: js: wxss: 样例: 支持透明,标题部分可插槽 支持渐变色  常规居中,左上角icon可自定义,本地或者网络路径皆可 或者无标题,只有左上角icon 文件链接: https://download.csdn.net/download/qq_48702470/87815185 文件解压缩至项目根目录下的components文件夹下即可 使用:在想要使用

    2024年02月11日
    浏览(47)
  • 微信小程序自定义导航栏返回和标题

    1.新建组件 index.json navbar.wxss index.ts index.wxml 组件定义完毕 2.修改app.ts文件,获取胶囊和系统信息 3.在具体页面中引用,index.wxml 修改对应index.ts文件 4.实现效果  参考:微信小程序实现原生导航栏和自定义头部导航栏_微信小程序头部导航栏_花铛的博客-CSDN博客 微信小程序自定

    2024年02月10日
    浏览(53)
  • uniapp 小程序自定义导航栏计算状态栏(顶部)与导航栏(胶囊)高度

    uni.getMenuButtonBoundingClientRect() 参考链接 uni.getSystemInfo()参考链接

    2024年02月11日
    浏览(73)
  • 【uniapp】小程序获取自定义导航高与胶囊按钮定位的两个api

     在小程序平台,如果原生导航栏被隐藏,仍然在右上角会有一个悬浮按钮,微信下也被称为胶囊按钮。本API用于获取小程序下该菜单按钮的布局位置信息,方便开发者布局顶部内容时避开该按钮。  代码如下:【注释中为获取自定义导航的api】 在onLoad中调用一下this.getHeig

    2024年02月17日
    浏览(47)
  • 微信小程序(uniapp)自定义导航栏

    微信小程序原生页面导航栏,无法进行自定义交互,如想实现类似下图的效果,就得使用自定义导航栏 这里使用到uView的组件u-navbar 。 提示:以下是本篇文章正文内容,下面案例可供参考 导航栏样式分为两种 default/custom,custom即取消默认的原生导航,默认为default。 原生导航

    2024年04月27日
    浏览(37)
  • 微信小程序、uniapp自定义底部导航栏(附源码)

    需求分析 目前开发一套“同城跑腿平台”小程序,面向用户和骑手,需要两个不同的底部导航,uniapp原生导航不满足要求。所以需要自定义导航栏。 随着自定义导航卡完成,切换选项卡页面总是闪烁,在网上也没有搜到完整的解决方法,总不能完美解决。现在我有一个方法

    2024年02月04日
    浏览(63)
  • 【实战】前端必会 —— 微信小程序右上角胶囊按钮(标题设置透明后的处理)

    Object wx.getMenuButtonBoundingClientRect() | 微信开放文档 Object wx.getSystemInfoSync() | 微信开放文档 微信小程序右上角的胶囊按钮在正常情况下(正常设置 navigationBarTitleText)没有影响 但是标题部分设置透明(“navigationStyle”: “custom”,)后,问题就出现了 我这边的需求是在最顶部增加

    2024年02月11日
    浏览(53)
  • uniapp 之 微信小程序、支付宝小程序 对于自定义导航栏的不同

    目录 前言  微信小程序 代码  支付宝小程序 首页配置文件 二级菜单页面  配置 总结  不同 相同  小程序都是 uni-app 写的 不是原生 pages.json文件中配置 重点: \\\"navigationStyle\\\": \\\"custom\\\",  // 导航栏样式  首页 vue文件 template  script  备注:  height:是胶囊的高度 首页配置文件

    2024年02月15日
    浏览(43)
  • 在uniapp中,微信小程序获取胶囊的高度、宽度,且适配微信小程序、App

    H5: 微信小程序: 方法: 使用: 1、引入: 2、

    2024年02月05日
    浏览(66)
  • uniapp vue3 h5,微信小程序滚动屏幕元素渐入动画&自定义导航栏

    项目文件下载地址 实际效果如下: 注意事项: animate.css需要添加样式兼容微信小程序; 微信小程序滚动时boundingClientRect获取不到标签信息 1、HBuilderX打开uniapp创建的vue3项目,在编辑器下方打开终端输入npm install animate.css --save 安装模块 animate.css官网地址 参考官方文档安装使

    2024年02月15日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包