uniapp 自定义导航栏增加首页按钮,仿微信小程序操作胶囊

实现效果如图
在这里插入图片描述

抽成组件navbar.vue,放入分包

<template>
	<view class="header-nav-box"
		:style="{'height':Props.imgShow?'':statusBarHeight+'px','background':Props.imgShow?'':Props.bgColor||'#ffffff;'}">
		<!-- 是否使用图片背景 false -->
		<image v-if="Props.imgShow||false" :src="imgUrl||'../../static/flower.jpg'" mode="scaleToFill"
			style="width: 100%; height: 400rpx;" />
		<!-- 导航内容 -->
		<view class="nav-box-item" :style="{'top':capsuleTop+'px','color':Props.textColor||''}">
			<view class="back" v-if="Props.blackShow||true" >
				<uni-icons type="back" @click="back" size="18" :color="Props.iconColor||'black'" />
				<text class="line" />
				<uni-icons type="home" @click="backToHome" size="18" :color="Props.iconColor||'black'" />
			</view>
			<view class="title">
				<block>{{title}}</block>
			</view>
		</view>
		<!-- 自定义内容插槽 -->
		<slot name="content"></slot>
	</view>
</template>
 
<script>
	export default {
		name: "HeaderNav",
		data() {
			return {
              statusBarHeight:'',
			  capsuleTop:''
			};
		},
		props: {
		    height:{
				type: String,
				default: ''
			},
			Props: {
				type: Object,
				default: () => {}
			},
			title: {
				type: String,
				default: '默认标题'
			}
		},
		mounted() {
			var _self=this
			uni.getSystemInfo({
				success: function (e) {
				let custom = uni.getMenuButtonBoundingClientRect();
				  _self.statusBarHeight = custom.bottom + custom.top - (e.statusBarHeight) + 4
				},
			})
			this.capsuleTop = getApp().globalData.capsuleTop
		},
		methods: {
			// 返回按钮回调函数
			back() {
				uni.navigateBack({
					data: 1
				})
				this.$emit('back')
			},
			backToHome(){
              this.$tab.reLaunch('/pages/index') //放入自己的首页路径
			},
		}
	}
</script>
 
<style lang="scss">
	.header-nav-box {
		position: relative;
 
		.nav-box-item {
			height: 54rpx;
			position: absolute;
			display: flex;
			align-items: center;
			font-size: 34rpx;
			width: 100%;
 
			.back {
				width: 23%;
				padding: 10rpx;
				justify-content: space-around;
                display: flex;
				border-radius: 50rpx;
				// background-color: #ff8916;
				border: 1px solid rgba(0, 0, 0, .1);
			}
 
			.title {
				width: 49%;
				text-align: center;
			}
		}
	}
	.home {
		margin-left: 10rpx;
	}
	.line {
		width: 10rpx;
		height: 36rpx;
		background-color: rgba(252, 252, 252, .7);
	}
</style>

全局引用

// 在main.js引用
// 注册全局组件
import HeaderNav from "./subPackage/navbar/index.vue" //换成你自己的组件位置
Vue.component("HeaderNav", HeaderNav)

使用

<HeaderNav title="你自己的页面路由名称"  />
// 可以传入的参数说明
Props: {
	imgShow: "", //不传参则默认隐藏状态(false),且使用默认背景色
	statusBarHeight: "", //导航高度(动态获取传参)
	bgColor: "", //导航栏背景色,不传参则默认#9CF
	capsuleTop: "", //胶囊顶部距离(动态获取传参)
	textColor: "", //导航标题字体颜色(不传默认#FFF)
	iconColor: "", //icon图标颜色(不传默认#FFF)
	blackShow: "", //是否显示返回字体及icon图标(不传默认显示true)
	backText: "", //默认字体(返回)
},

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/928173.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

张伟楠动手学强化学习笔记|第一讲(上)

张伟楠动手学强化学习笔记|第一讲&#xff08;上&#xff09; 人工智能的两种任务类型 预测型任务 有监督学习无监督学习 决策型任务 强化学习 序贯决策(Sequential Decision Making) 智能体序贯地做出一个个决策&#xff0c;并接续看到新的观测&#xff0c;知道最终任务结…

《只狼》运行时提示“mfc140u.dll文件缺失”是什么原因?“找不到mfc140u.dll文件”要怎么解决?教你几招轻松搞定

《只狼》运行时提示“mfc140u.dll文件缺失”的科普与解决方案 作为一名软件开发从业者&#xff0c;在游戏开发和维护过程中&#xff0c;我们经常会遇到各种运行时错误和系统报错。今天&#xff0c;我们就来探讨一下《只狼》这款游戏在运行时提示“mfc140u.dll文件缺失”的原因…

MacOS 命令行详解使用教程

本章讲述MacOs命令行详解的使用教程&#xff0c;感谢大家观看。 本人博客:如烟花般绚烂却又稍纵即逝的主页 MacOs命令行前言&#xff1a; 在 macOS 上,Terminal&#xff08;终端) 是一个功能强大的工具&#xff0c;它允许用户通过命令行直接与系统交互。本教程将详细介绍 macOS…

【计算机网络】实验6:IPV4地址的构造超网及IP数据报

实验 6&#xff1a;IPV4地址的构造超网及IP数据报 一、 实验目的 加深对IPV4地址的构造超网&#xff08;无分类编制&#xff09;的了解。 加深对IP数据包的发送和转发流程的了解。 二、 实验环境 • Cisco Packet Tracer 模拟器 三、 实验内容 1、了解IPV4地址的构造超网…

Java Web 1HTML快速入门

目录 一、Web开发介绍 1.什么是Web&#xff1f; 2.初识Web前端 二、HTML快速入门 1.什么是HTML、CSS&#xff1f; 2、案例练习 3.小结 三、VS Code开发工具 四、基础标签&样式&#xff08;HTML&#xff09; 2、实现标题--样式1&#xff08;新闻标题的颜色&#xff0…

【流程图】各元素形状和含义

判定、文档、数据、数据库、流程处理节点 矩形 - 动词 平行四边形 - 图像 下波浪 - 数据 图片来源http://baike.cu12.com/bkss/62449.shtml

利用机器学习预测离婚:从数据分析到模型构建(含方案和源码)

背景介绍 在当今社会&#xff0c;婚姻关系的稳定性受到了多方面因素的影响&#xff0c;包括经济压力、沟通问题、个人价值观差异等。离婚不仅对夫妻双方产生深远的影响&#xff0c;还可能对子女的成长环境和社会稳定造成不利影响。因此&#xff0c;理解并预测可能导致离婚的因素…

分层架构 IM 系统之 Router 架构分析

通过前面文章的分析&#xff0c;我们已经明确&#xff0c;Router 的核心职责是作为中央存储记录在线客户端的连接状态&#xff0c;Router 在本质上是一个内存数据库。 内存是一种易失性的存储&#xff0c;既如此&#xff0c;Router 的可用性如何保障呢&#xff1f; 副本是分布…

二分查找常规实现

使用二分查找有一个前提条件&#xff1a;要查找的数必须在一个有序数组里。在这个前提下&#xff0c;取中间位置数作为比较对象&#xff1a; 若要查找的值和中间数相等&#xff0c;则查找成功。 若小于中间数&#xff0c;则在中间位置的左半区继续查找。 若大于中间数&#x…

C++ 之弦上舞:string 类与多样字符串操作的优雅旋律

string 类的重要性及与 C 语言字符串对比 在 C 语言中&#xff0c;字符串是以 \0 结尾的字符集合&#xff0c;操作字符串需借助 C 标准库的 str 系列函数&#xff0c;但这些函数与字符串分离&#xff0c;不符合 OOP 思想&#xff0c;且底层空间管理易出错。而在 C 中&#xff0…

获取联通光猫的管理员密码

缘起&#xff1a;联通给免费更换了一个新的光猫&#xff0c;烽火的光路由&#xff0c;一个WAN口&#xff0c;4个LAN口&#xff0c;带USB接口&#xff0c;欣欣然接受。但是呢&#xff0c;发现以前的管理员密码CUAdmin不能用了。经过一系列查询&#xff0c;借助别人的经验&#x…

数组练习(非最终版)

作业1&#xff1a;使用二维数组输出杨辉三角 //杨辉三角 #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, const char *argv[]) {int i,j,n;scanf("%d",&n);int arr[n][n];for(i0;i<n;i){arr[i][0]1;arr[…

【MySQL 进阶之路】索引概述

第06章_索引 1.什么是索引 索引是存储引擎用于快速找到数据记录的一种数据结构&#xff0c;就好比一本教科书的目录部分&#xff0c;通过目录中找到对应文章的页码&#xff0c;便可快速定位到需要的文章。MySQL中也是一样的道理&#xff0c;进行数据查找时&#xff0c;首先查…

微积分复习笔记 Calculus Volume 2 - 3.3 Trigonometric Substitution

3.3 Trigonometric Substitution - Calculus Volume 2 | OpenStax

业财一体化新篇章:外贸ERP软件重塑业务流程

业财一体化的定义&#xff08;Definition&#xff09; FMS&#xff0c;即财务管理软件&#xff08;Financial Management Software&#xff09;&#xff0c;涵盖了用于管理公司财务的多种工具和系统&#xff0c;包括预算管理、账务处理、报表生成等功能。 ERP&#xff0c;即企…

Qt 信号与槽:UI设计的基础

Qt 的信号与槽机制是其最强大的功能之一&#xff0c;也是初学者理解 Qt 的第一步。它让对象之间的通信变得直观和高效。信号与槽类似于现实生活中的“呼叫和应答”模式&#xff1a;一个对象发出信号&#xff0c;另一个对象响应并执行动作。 什么是信号与槽&#xff1f; 信号与…

QT 左右 上下,拉伸 分配窗口大小

要的效果是以下&#xff1a; QT C 两个QWideget A B现在有放在一个窗口QWideget Test内&#xff0c;初始比例要2&#xff1a;8 ,现在我要 A B 两个窗口中间 当鼠标移到他中间时&#xff0c;有条线&#xff0c;可以左右移动来控件 A B 窗口所占的大小widgetB &#xff08;有 wi…

Linux 各个目录作用

刚毕业的时候学习Linux基础知识&#xff0c;发现了一份特别好的文档快乐的 Linux 命令行&#xff0c;翻译者是happypeter&#xff0c;作者当年也在慕课录制了react等前端相关的视频&#xff0c;通俗易懂&#xff0c;十分推荐 关于Linux的目录&#xff0c;多数博客已有详细介绍…

基于PyTorch框架的线性回归实现指南

目录 ​编辑 1. 线性回归基础 2. PyTorch环境搭建 3. 数据准备 4. 定义线性回归模型 5. 损失函数和优化器 6. 训练模型 7. 评估模型 8. 结论 线性回归是统计学和机器学习中最基本的预测模型之一&#xff0c;它试图找到输入特征和输出结果之间的线性关系。在深度学习框…

HYSPLIT下载及使用

准备工作 官网基础教程&#xff1a;https://www.ready.noaa.gov/documents/Tutorial/html/index.html 使用 参考&#xff1a;https://blog.csdn.net/liaohaibing/article/details/112788701 下载之前还需要Graphical Utilities&#xff1a;https://www.ready.noaa.gov/HYSPLI…