uniapp自定义navigationBar

news2024/9/21 0:33:51

最终效果:

一、关闭默认导航栏

pages.json文件中,对单个页面关闭

"navigationStyle": "custom"

"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "控制台",
				"navigationStyle": "custom"
			}
		},
		{
			"path" : "pages/message/message",
			"style" : 
			{
				"navigationBarTitleText" : "消息"
			}
		}
		
	],

二、组件设计

<template>
	<view>
		<!-- 状态栏占位 -->
		<view :style="{paddingTop: statusBarHeight + 'px'}"></view>
		<!-- 导航栏内容 -->
		<view :style="{height: navBarHeight + 'px'}" class="navBarComponent">
			<view class="navContent">
				<text class="title">{{titles}}</text>
				<view class="right" :style="{width: count*40 + 'px'}" v-if="count > 0" >
					<view class="item" v-for="(item, index) in icons" :key="index">
						<image :src="item.icon" class="imageShow" @click="toPage(item.link)"></image>
					</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		name:"navigationBar",
		data() {
			return {
				statusBarHeight: 0,
				navBarHeight: 0,
				count: 0,
				icons: []
			};
		},
		props:{
			titles: String,
			links: Array
		},
		methods: {
			toPage(url){
				uni.navigateTo({
					url:url
				})
			}
		},
		created() {
			// 动态获取手机状态栏高度(电量显示区域),H5没有状态栏,会为0
			this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];
			// #ifdef H5
			this.navBarHeight = 45
			// #endif
			// #ifndef H5
			this.navBarHeight = this.statusBarHeight + 11
			// #endif
			
			if(typeof this.$props.links === 'undefined'){
				this.count = 0
			}else{
				this.count = this.$props.links.length
				this.icons = this.$props.links
			}
		}
	}
</script>

<style lang="scss">
	.navBarComponent {
		display: flex;
		align-items: center;
		box-sizing: border-box;
		
		.navContent{
			display: flex;
			align-items: center;
			padding-left: 15px;
			padding-right: 15px;
			width: 100%;
			.title{
				font-size: 24px;
				flex: 1;
			}
			.right{
				display: flex;
				width: 120px;
				height: 100%;
				align-items: center;
				justify-content: space-between;
				.item{
					background-color: white;
					width: 36px;
					height: 36px;
					border-radius: 50%;
					display: flex;
					align-items: center;
					justify-content: center;
					.imageShow{
						width: 60%;
						height: 60%;
					}
				}
			}
		}
	}
</style>

三、使用

<navigationBar :titles="'控制台'" :links="icons"></navigationBar>

图标链接数据:

this.icons = [
	{
	    icon: '/static/icon/notify.png',
	    link: '/pages/message/message'
	},
	{
		icon: '/static/icon/scan.png',
		link: '/pages/message/message'
	}
]

不同框架下的语法会有区别

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IP地址证如何实现HTTPS访问?(内网IP、公网IP)

IP地址证书&#xff08;全称为IP地址的SSL/TLS证书&#xff09;是实现通过IP地址进行HTTPS访问的关键。以下是实现这一目标的详细步骤&#xff1a; 一、选择证书颁发机构&#xff08;CA&#xff09; 1.选择支持IP证书的CA&#xff1a;并非所有证书颁发机构都提供为IP地址颁…

(计算机网络)网络层

目录 一.网络层提供哪种服务 二.两种服务的比较 三.ip协议 四.ip地址 五.ip地址的分类 六.子网掩码 七.路由器介绍 一.网络层提供哪种服务 1.ip地址--唯一的标识互联网上的某一台主机 2. 虚电路&#xff1a;虚拟的电路 二.两种服务的比较 ip数据报&#xff0c;不需要建…

航空航天构型管理

构型管理(CM)被定义为在产品的生命周期中应用的SE技术和管理规程。CM的五个原则是&#xff1a;CM计划与执行、配置识别、配置变更和差异控制、配置状态核算和配置验证。 广义上的构型管理规划和管理是有效实施配置管理的关键。特别是在不同项目之间的差异中&#xff0c;构型管理…

网络协议九 应用层 HTTPS

一 什么是 HTTPS 二 什么是 SSL/TLS 协议 &#xff0c;TLS 是 SSL 升级后的名字 三. TLS 协议 工作在那一层 四 。OpenSSL 是 SSL/TLS协议的开源实现。 五。重点 HTTPS 的通讯过程 六 TLS 1.2 的连接过程 1. client hello 是浏览器发送给服务器的第一条信息&#xff0c; 是客户…

Ubuntu24.04安装 Mysql 并修改root密码 + 配置

参考文章&#xff1a;Ubuntu安装MySQL 一、下载并安装 MySQL 1、安装 mysql 服务端 yammiemy-pc >/opt $ sudo apt-get install mysql-server 2、安装 mysql 客户端 yammiemy-pc >/opt $ sudo apt-get install mysql-client 3、安装程序编译时连接的库 yammiemy-pc &…

【06】JVM是如何实现反射的?

为了保证框架的可扩展性&#xff0c;往往借助 Java 的反射机制&#xff0c;根据配置文件来加载不同的类。Spring 框架的依赖反转&#xff08;IoC&#xff09;&#xff0c;便是依赖于反射机制。 反射调用的实现 这里主要是以【方法的反射调用】来进行剖析 public final class…

cocosUI多分辨率适配

需求&#xff1a;由于各个设备的分辨率和尺寸并不一样&#xff0c;所以需要一套适配系统去很好的针对不同的设备分辨率或尺寸进行适配&#xff0c;以给玩家一个很好的游戏体验。 目前的主流适配方案 目前&#xff0c;针对不同设备的适配&#xff0c;主流的方案通常包括以下几种…

OpenHarmony4.1上初体验rust

OpenHarmony4.1上初体验rust 前言一、准备工作二、初步调研三、初步尝试运行测试demo 四、尝试构建自己的hello world五、与C、C的交互总结 前言 由于后续可能要做rust基于OpenHarmony的开发工作&#xff0c;于是先开始一些调研性的工作&#xff0c;rust了解的内容可以参考该文…

雷达气象学(6)——径向速度图分析

文章目录 6.1 速度场分析基础6.1.1 速度图分析的基本方法6.1.2 练习&#xff1a;整层为均匀西风6.1.3 练习&#xff1a;风向随高度顺转 6.2 水平均匀风场的典型图像6.3 典型天气系统的判别6.3.1 锋面&#xff08;切变线&#xff09;系统6.3.1.1 冷锋&#xff08;冷式切变线&…

苹果是如何成为一家以产品力驱动的公司

最近在看苹果的HIG&#xff08;开发者指南&#xff09;文档&#xff0c;深刻的体会到设计/产品能力对于用户的重要性&#xff0c;为什么苹果会有“设计可以改变一切”“产品即营销”这样的理念&#xff0c;而苹果也的的确确成为了少数以产品驱动的科技公司。 文档本身有六部分…

【数据结构详解】——归并排序(动图详解)

目录 &#x1f552; 1. 归并排序&#x1f558; 1.1 递归实现&#x1f558; 1.2 非递归实现 &#x1f552; 1. 归并排序 &#x1f4a1; 算法思想&#xff1a;归并排序是建立在归并操作上的一种有效的排序算法&#xff0c;该算法是采用分治法的一个非常典型的应用。将已有序的子…

蓝牙资讯|AirPods Pro 2推送最新开发者版固件,支持点头摇头控制Siri

苹果面向开发者推送了 AirPods Pro 2 的最新固件更新&#xff0c;版本号为 7A5266c。这并非一次常规更新是为即将在秋季发布的 iOS 18 系统做准备。 根据官方信息&#xff0c;新固件将为 AirPods Pro 2 引入一系列新功能&#xff0c;包括点头或摇头控制 Siri、增强嘈杂环境下…

Visual Studio Code 使用Git详细教程

再集成之前请确保已经安装Visual Studio Code 和Git&#xff0c;并且可以找到Git文件地址。如果找不到可以在系统环境变量里面看一眼之前的配置-需要找到Git下面的cmd目录&#xff0c;一会配置使用。 打开 Visual Studio Code找到设置根据图片指引 1.找到左下角设置按钮 2.展开…

支付宝沙箱模拟支付的实现

目录 1.登录支付宝开发平台 2.使用沙箱模拟支付 3.后端代码 4.前端代码 现在几乎所有应用或者网站都需要接入支付接口&#xff0c;因为一个产品最终目的还是要赚钱&#xff0c;所以我们今天就使用支付宝提供的模拟支付的接口来实现这个功能。 1.登录支付宝开发平台 支付宝…

deepin V23前瞻丨deepin V23与飞腾腾锐D3000完成适配,持续丰富deepin操作系统硬件生态

查看原文 近日&#xff0c;自主核心芯片研发飞腾公司宣布与deepin V23完成适配&#xff0c;包含飞腾新一代桌面CPU飞腾腾锐D3000、FT-2000/64、桌面芯片飞腾腾锐D2000等多款产品&#xff0c;为用户带来更智能、安全、稳定的使用体验。 飞腾腾锐D3000集成8个飞腾自主研发的新一…

微服务-分布式事务-seata

1. 事务 事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列SQL操作&#xff0c;这些操作作为一个整体一起向系统提交&#xff0c;要么执行&#xff0c;要么都不执行 1.1 ACID事务的特点 原子性&#xff1a;针对同一事务&#xff0c;要么都完成&#xff0c;要么都不完成 一致…

实例讲解Jmeter参数化的四种方式

JMeter的四种参数化方式包括&#xff1a; 1.用户参数&#xff08;UserParameters&#xff09;&#xff1a;适用于参数取值范围很小的时候使用 2.函数助手&#xff08;FunctionHelper&#xff09;&#xff1a;可作为其他参数化方式的补充项&#xff0c;如&#xff1a;随机数生成…

使用RestHighLevelClient进行Elasticsearch Function Score查询

简介 Function Score查询在Elasticsearch中是一个强大的工具&#xff0c;它允许我们根据一个或多个函数来调整查询结果的相关性得分。这使得我们可以基于某些条件对搜索结果进行更精细的控制。本文将介绍如何在Java应用程序中使用Elasticsearch的RestHighLevelClient执行Funct…

城市夜景车水马龙视频素材去哪里找?

在这个数字化与视觉化日益融合的时代&#xff0c;城市夜景已成为吸引观众眼球的热门视频主题。无论是个人爱好者还是企业&#xff0c;都致力于通过展示繁华都市的夜晚来俘获观众的心。今天&#xff0c;我将为您介绍几个优秀的视频素材网站&#xff0c;帮助您获取高质量的城市夜…

在小红书用AI做搞笑日常图文号,单号软广赚3000+!

今天&#xff0c;当我在小红书上刷案例时&#xff0c;突然眼前一亮&#xff0c;发现了一些以沙雕日常为主题的手绘插画图文账号。这些账号的笔记点赞量高得惊人&#xff0c;每篇都有上千的点赞&#xff0c;而且植入的软广告报价也是高得吓人。 像上图这个账号&#xff0c;它只发…