使用 uniapp 适用于wx小程序 - 实现移动端头部的封装和调用

news2024/9/25 1:22:59

图例:红框区域,使其标题区与胶囊对齐

 

一、组件 navigation.vue

<template>
	<view class="nav_name">
		<view class="nav-title" :style="{
				'color' : props.color, 
				'padding-top' : top+'rpx',
				'background' : props.bgColor,
				'height' : tops+'rpx',
				'line-height' : tops+'rpx'
			}">
			<view v-if="props.isReturn===0" class="nav-back" @click="returns()">
				<image src="@/static/report/back_icon.png" mode=""></image>
			</view>
			<view v-else-if="props.isReturn===1" class="nav-back nav-icon" @click="returns()">
				<image :src="props.returnIcon" mode=""></image>
			</view>
			<view v-else class="nav-back"></view>
			<view class="nav-name" :style="{'text-align':props.isCenter?'center;':'left;'}">{{props.title_name}}</view>
		</view>
		<view :style="{height: top+tops+'rpx'}"></view>
	</view>
</template>
 
<script setup>
import { defineProps,ref } from 'vue'
import { onLoad, onShow } from "@dcloudio/uni-app";
const props = defineProps({
	title_name:{  // 标题名
		type:String,
		required: true
	},
	isReturn:{  // 0是返回键  1自定义传的图标 >1是不传任何图标
		type:Number,
		required: true
	},
	returnIcon:{  // 定义传递的图标地址
		type:String,
		required: true
	},
	color:{ // 文字颜色
		type:String,
		required: true
	},
	bgColor :{ // 背景颜色
		type:String,
		required: true
	},
	isCenter:{ // 文字是否居中
		type:Boolean,
		required: true
	}
})

const isLast=ref(false)
const top=ref(0)
const tops=ref(100)
const emit = defineEmits(['iconClick'])

onShow(()=>{
	getLast()
	getTopWeiXin()
})

// 返回的箭头
const returns=()=>{
	if(props.isReturn===0){
		if(isLast.value){
			uni.switchTab({
				url:'/pages/index/index' //返回首页
			})
		}else{
			uni.navigateBack({
				delta: 1  //返回上一页
			});
		}
	}else if(props.isReturn===1){
		// 自定义图标操作
		emit('iconClick')
	}
}
// 获取小程序安全区域的高度
const getTopWeiXin=()=>{
	top.value = parseInt(uni.getSystemInfoSync().safeAreaInsets.top * 750 / uni.getSystemInfoSync().windowWidth) 
	uni.setStorageSync('top', top.value);
}
// 获取有无上一页
const getLast=()=>{
	let pages = getCurrentPages();//当前页
	if(pages.length == 1){
		isLast.value = true
	}else{
		isLast.value = false
	}
}
</script>
 
<style lang="scss" scoped>
.nav_name{
	.nav-title{
		position: fixed;
		z-index: 999;
		width: 750rpx;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		overflow: hidden;
		.nav-back{
			width: 60rpx;
			position: absolute;
			left: 0;
			z-index: 999;
			margin-left: 20rpx;
			margin-top: 8rpx;
			image{
				width: 36rpx;
				height: 36rpx;
			}
		}
		.nav-icon{
			margin-top: 20rpx;
			image{
				width: 46rpx !important;
				height: 46rpx !important;
			}
		}
		.nav-name{
			width: 560rpx;
			text-align: center;
			font-weight: bold;
			white-space: nowrap;
			text-overflow: ellipsis;
			overflow: hidden;
			word-break: break-all;
		}
	}
}
</style>

二、页面调用

<template>
<Navigation :title_name="'6-25考试新增学生测试'"
        :isReturn="0"
        :color="'#000000'"
        :bgColor="'#FFFFFF'"
		:isCenter="false"/>
</template>
<script setup>
import Navigation from '@/components/navigation/index.vue'
</script>

三、pages.json 相关设置

// 如果背景色是白色, 需要设置 pages.json 中顶部文字颜色为黑色,显示手机自带的信息

"globalStyle": {
	"navigationBarTextStyle": "black",
	"navigationBarTitleText": "远端小程序",
	"navigationBarBackgroundColor": "#F8F8F8",
	"backgroundColor": "#F8F8F8"
}

     希望我的愚见能够帮助你哦~,若有不足之处,还望指出,你们有更好的解决方法,欢迎大家在评论区下方留言支持,大家一起相互学习参考呀~

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

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

相关文章

嵌入式软件开发工具简化基于STM8的智能装置开发

嵌入式软件开发工具简化基于STM8的智慧装置开发 降低功耗一直是微控器(MCU)市场的主要关注焦点。超低功耗MCU现在可大幅降低主动和深度睡眠的功耗。此种变化的效果是显而易见的&#xff0c;因为它大幅提高了日常嵌入式应用的电池寿命&#xff0c;以及在未来使用能量采集的可能性…

恒运资本股市资讯:IPO、再融资节奏生变

A股近期呈现震荡&#xff0c;商场对IPO、再融资节奏的重视度进步&#xff0c;一些投行人士已经感触到了股权融资商场正在发生改变。某券商投行人士表明&#xff0c;在当时二级商场震荡加大的背景下&#xff0c;IPO和再融资的审阅有放缓趋势&#xff0c;尤其是部分职业的审阅速度…

sap 获取不同币种间汇率 rfc BAPI_EXCHANGERATE_GETDETAIL

不同 sap 日期格式略有不同&#xff0c;可以在 sm37 中查看 参考 https://www.sapcenter.cn/archive/post/428730824257605.html

Compressor For Mac强大视频编辑工具 v4.6.5中文版

Compressor for Mac是苹果公司推出的一款视频压缩工具&#xff0c;可以将高清视频、4K视频、甚至是8K视频压缩成适合网络传输或存储的小文件。Compressor支持多种视频格式&#xff0c;包括H.264、HEVC、ProRes和AVC-Intra等&#xff0c;用户可以根据需要选择不同的压缩格式。 …

Hugo发布网站

你应该先阅读Windows上安装Hugo的环境。 我们使用PowerShell运行下面的Hugo命令。 1 创建网站 我们在文档下面创建一个名为MyHugoSite的目录结构&#xff1a; cd Documents hugo new site MyHugoSite cd MyHugoSite提示告诉我们有关主题的获取方式、文件的添加和站点的构建。…

恒运资本股票分析:跌停!1600亿“中字头”突发

周四上午&#xff0c;三大指数震动上行&#xff0c;到午间收盘&#xff0c;上证指数涨0.47%&#xff0c;深证成指涨1.14%&#xff0c;创业板指涨1.31%。北向资金半日净买入29.12亿元。此前&#xff0c;北向资金现已连续13个交易日减仓。8月以来&#xff0c;北向资金已累计净卖出…

【Leetcode】118.杨辉三角

一、题目 1、题目描述 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例1: 输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例2: 输入: numRows = 1 输出: [[1]]提示: …

AD(第一部分---绘制元件库)

5.元件库介绍及电阻容模型的创建 注&#xff1a;元件库创建是在&#xff0c;以.SchLib结尾的 注&#xff1a;右下角的Panels消失/出现 点击左上角 "视图""状态栏" (快捷键&#xff1a;VS) 此处的SCH Library就是元件库列表 RES____电阻 CAP____电容&am…

transforms——PILImage->tensor

数据加载 数据加载&#xff1a;将RGB的图像数据变成可以计算的tensor。需要的步骤有&#xff1a; 定义一个图片转tensor的转换器&#xff08;transform&#xff09;定义一个继承自Dataset的myDataSet类&#xff0c;在此类的__getitem__(self, index)中完成一张图片变成一个ten…

使用CRM系统如何提高客户成交率?

企业衡量销售业绩的一个重要指标就是客户成交率&#xff0c;它反映了潜在客户到实际客户的转化效率。提高客户成交率&#xff0c;可以帮助企业降本增效&#xff0c;提高收益。那么&#xff0c;如何提高客户成交率呢&#xff1f;下面说说CRM系统提高成交率的方法。 精准定位目标…

Flutter Cannot run with sound null safety, because the following dependencies

flutter sdk 版本升级到2.0或者更高的版本后&#xff0c;运行之前的代码会报错 Error: Cannot run with sound null safety, because the following dependencies dont support null safety:- package:flutter_swiper- package:flutter_page_indicator- package:transformer_p…

聊聊智能物流技术

目录 1.什么是智能物流 2.智能物流的方向 3.智能物流的发展过程 4.智能物流带给人们的福利 1.什么是智能物流 智能物流是指利用物联网、人工智能、大数据等技术手段&#xff0c;对物流过程中的信息、资源和流程进行智能化管理和优化&#xff0c;以提升物流效率、降低成本、增…

Oracle给表空间添加容量

假如给SYSTEM表空间添加 查看文件位置和容量&#xff1a;Select * FROM DBA_DATA_FILES; FILE_NAME就是要修改的文件 查看每一个表空间的容量&#xff0c;单位MB&#xff1a; SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces…

openCV实战-系列教程6:图像金字塔(图像金字塔/高斯金字塔/拉普拉斯金字塔/图像上采样/图像下采样/轮廓检测/轮廓特征与近似/模版匹配)、原理解析、源码解读

1、图像金字塔定义 图像金字塔就是将图像组合成像金字塔一样的形状&#xff0c;比如原来的图像是1600*900&#xff0c;现在将它变换为1200*750的图像&#xff0c;在金字塔越上面就会越小。那么一张图像就会有多种形式&#xff0c;在以后如果做特征提取&#xff0c;可能不知有一…

数据库表结构导出为word、html、markdown【转载,已解决,已验证,开源】

注&#xff1a;本文为gitcode代码验证&#xff0c;转载gitcode gitcode&#xff1a;https://gitcode.net/mirrors/pingfangushi/screw?utm_sourcecsdn_github_accelerator 整理数据库文档&#xff1a;https://mp.weixin.qq.com/s/Bo_U5_cl82hfQ6GmRs2vtA <!--数据库文档核…

[Linux]进程状态

[Linux]进程状态 文章目录 [Linux]进程状态进程状态的概念阻塞状态挂起状态Linux下的进程状态孤儿进程 进程状态的概念 了解进程状态前&#xff0c;首先要知道一个正在运行的进程不是无时无刻都在CPU上进行运算的&#xff0c;而是在操作系统的管理下&#xff0c;和其他正在运行…

Jenkins的流水线详解

来源&#xff1a;u.kubeinfo.cn/ozoxBB 什么是流水线 声明式流水线 Jenkinsfile 的使用 什么是流水线 jenkins 有 2 种流水线分为声明式流水线与脚本化流水线&#xff0c;脚本化流水线是 jenkins 旧版本使用的流水线脚本&#xff0c;新版本 Jenkins 推荐使用声明式流水线。…

职场汇报必备-超级有用12张思维导图

你有没有想过&#xff1f; 为什么你和同事工作的表现同样出色&#xff0c;但是上司最亲睐的人却不是你&#xff1f; 为什么你勤勤恳恳地努力工作&#xff0c;承担了组织内部的许多责任&#xff0c;但却享受不到组织分配的利益&#xff1f; 为什么你的上司对你的态度总是不瘟不火…

2023最新出炉的整理软件测试常见面试题附答案

包含的模块&#xff1a; 本文分为十九个模块&#xff0c;分别是&#xff1a;软件测试 基础、liunx、MySQL、web测试、接口测试、APP测试 、管理工具、Python、性能测试、selenium、lordrunner、计算机网络、组成原理、数据结构与算法、逻辑题、人力资源&#xff01;&#xff0…

工程项目实施时,如何制定项目进度计划?

在实施工程项目之前&#xff0c;必须制定项目进度计划&#xff0c;并按照进度计划进行控制。 项目进度计划是指&#xff0c;在规定的时间内&#xff0c;制定合理且经济的进度计划&#xff08;包括多级管理的子计划&#xff09;。在执行该计划的过程中&#xff0c;需要经常检查实…