uniapp自定义的下面导航

uniapp自定义的下面导航

看看效果图片吧
在这里插入图片描述

文章目录

  • uniapp自定义的下面导航
    • ` 看看效果图片吧` ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6aa0e964741d4dd3a58f4e86c4bf3247.png)
  • 前言
  • 一、写组件、我这里就没有写组件了直接写了一个页面?
  • 总结


前言


在工作中需要自定定义好看一点的头部和导航栏下面

一、写组件、我这里就没有写组件了直接写了一个页面?

<!-- 内部沟通 -->
<template>
	<view style="display: flex; flex-direction: column; align-items: flex-start; justify-content: center;">
		<!-- 头部 -->
		<view style="width: 100%; height: 7rem; background-color: #1B3357;">
			<headassembly @otherMiniProgram="OnOtherMiniProgram"
				:imageSrc="'https://linda-uni.oss-cn-guangzhou.aliyuncs.com/images/workbench_tu/leftarrowgz.svg'"
				:isSubPage="false">
			</headassembly>
		</view>

		<!-- 中间内容区域 -->
		<view class="content" :key="currentTab">
			<view v-if="currentTab === 'tab1'">
				<view style="width: 100%;">
					<view style="width:100%; background-color: #FFFFFF;border-radius: 5px;margin-top: 1rem;">
						<view class="top">
							<image class="avatar_home"
								src="https://linda-uni.oss-cn-guangzhou.aliyuncs.com/images/workbench_tu/pexels-hannah-nelson-390257-1065084.jpg"
								mode="aspectFill"></image>
							<view class="text-container">
								<view class="name-row">
									<view class="name_home">张莉莉</view>
									<view class="tag">老板</view>
								</view>
								<view class="name_date">2小时前</view>
							</view>
						</view>
						<view class="nie">
							<view style="width: 100%;">
								<mp-html :copy-link="true" :tagStyle="md.tagStyle" :markdown="true" :lazy-load="true"
									:selectable="true" :content="html" />

							</view>
						</view>

						<view class="top_z">
							<image class="avatar_home_z"
								src="https://linda-uni.oss-cn-guangzhou.aliyuncs.com/images/workbench_tu/pexels-divinetechygirl-1181686.jpg"
								mode="aspectFill"></image>
							<view class="text-container_z">
								<view
									style="background-color: #EEEEEE;height: 1.8rem;width: 100%;border-radius: 15px;font-size: 12px;color: #B8B8B8;">
									<view style="padding: 0.4rem;" @click="OnShowComments()">
										参与评论
									</view>
								</view>
							</view>
						</view>

						<view class="horizontal-containerBOdy">
							<view class="horizontal-container">
								<view class="label">李思思:</view>
								<view class="message">收到</view>
							</view>
							<view class="horizontal-container">
								<view class="label">杰哥:</view>
								<view class="message">我要去!给我去</view>
							</view>
							<view class="horizontal-container">
								<view class="label">李白:</view>
								<view class="message">我也要去!</view>
							</view>
							<view class="horizontal-container">
								<view class="label">悟空:</view>
								<view class="message">俺老孙去打下手</view>
							</view>
						</view>
						<view style="width: 94%; height: height: 76px;"></view>
					</view>
					<!-- 二 -->


				</view>

			</view>
			<view v-if="currentTab === 'tab2'">

			</view>
			<view v-if="currentTab === 'tab3'">
				<view style="width: 100%;">
					<view style="width: 100%; border-radius: 5px; margin-top: 1rem;">
						<view class="addressbook-container">
							<view class="person-item" v-for="person in people" :key="person.id">
								<image :class="['avatar_homeAddressbook', { online: person.online }]"
									:src="person.image" mode="aspectFill"></image>
								<view class="text-containers">
									<view class="name_homeAddressbook">{{ person.name }}</view>
									<view class="tagAddressbook">{{ person.role }}</view>
								</view>
							</view>
						</view>
					</view>
				</view>

			</view>
		</view>


		<van-popup @close="OnComments" :show="showInputcomments" round position="bottom">
			<view style="width: 95%; height: 27rem;">
				<view class="popup-header">

					<view class="popup-title">发布评论</view>
					<view class="popup-complete" @click="onSubmitComments">完成</view>
				</view>
				<view style="height: 26rem;width: 100%;margin-left: 0.6rem;">
					<textarea class="comment-textarea" v-model="comment" placeholder="请输入评论..."></textarea>
				</view>
			</view>
		</van-popup>

		<!-- 底部导航栏 -->
		<view class="footer">
			<view class="icon-container" @click="changeTab('tab1')">
				<image
					:src="currentTab === 'tab1' ? 'https://linda-uni.oss-cn-guangzhou.aliyuncs.com/images/workbench_tu/information_1.svg' : 'https://linda-uni.oss-cn-guangzhou.aliyuncs.com/images/workbench_tu/information_0.svg'"
					class="icon">
				</image>
				<view class="icon-label">首页</view>
			</view>

			<!-- 发布按钮凹槽 -->
			<view class="publish-container">
				<view class="publish-button" @click="handlePublishClick">
					<image
						:src="currentTab === 'tab2' ? 'https://linda-uni.oss-cn-guangzhou.aliyuncs.com/images/workbench_tu/release_1.svg' : 'https://linda-uni.oss-cn-guangzhou.aliyuncs.com/images/workbench_tu/release_1.svg'"
						class="icons">
					</image>
				</view>
			</view>

			<view class="icon-container" @click="changeTab('tab3')">
				<image
					:src="currentTab === 'tab3' ? 'https://linda-uni.oss-cn-guangzhou.aliyuncs.com/images/workbench_tu/Addressbook1.svg' : 'https://linda-uni.oss-cn-guangzhou.aliyuncs.com/images/workbench_tu/Addressbook_0.svg'"
					class="icon">
				</image>
				<view class="icon-label">通讯录</view>
			</view>
		</view>
	</view>
</template>

<script>
	import mpHtml from '@/components/mp-html/mp-html.vue'
	import md from '@/static/css/md';
	export default {
		computed: {
			md() {
				return md
			}
		},
		components: {
			mpHtml
		},
		destroyed() {
			this.mediaQueryOb.disconnect() //组件销毁时停止媒体查询监听
			this.mediaQueryOb = null
			console.log('==== destroyed :')
		},
		onShow() {
			console.log("每次查询");
		},
		data() {
			return {
				show_tu: false,
				people: [{
						id: 1,
						name: '张莉莉',
						role: '老板',
						image: 'https://linda-uni.oss-cn-guangzhou.aliyuncs.com/images/workbench_tu/pexels-hannah-nelson-390257-1065084.jpg',
						online: true
					},
					{
						id: 2,
						name: '李四',
						role: '经理',
						image: 'https://linda-uni.oss-cn-guangzhou.aliyuncs.com/images/workbench_tu/pexels-hannah-nelson-390257-1065084.jpg',
						online: false
					},
					{
						id: 3,
						name: '王五',
						role: '员工',
						image: 'https://linda-uni.oss-cn-guangzhou.aliyuncs.com/images/workbench_tu/pexels-hannah-nelson-390257-1065084.jpg',
						online: true
					},
					{
						id: 4,
						name: '赵六',
						role: '实习生',
						image: 'https://linda-uni.oss-cn-guangzhou.aliyuncs.com/images/workbench_tu/pexels-hannah-nelson-390257-1065084.jpg',
						online: false
					},
					// 添加更多的人员信息
				],
				comment: '',
				showInputcomments: false,
				editorIns: null,
				readOnly: false,
				toolbarConfig: {
					excludeKeys: ['direction', 'date', 'lineHeight', 'letterSpacing', 'listCheck'],
					iconSize: '20px',
					iconColumns: 10,
					icons: [{
							name: 'save',
							title: '保存',
							onClick: () => this.saveContent()
						},

					]
				},
				mediaQueryOb: null, // 响应式媒体查询
				show_fab: false,
				currentTab: 'tab1',
				isFirstTab2: true,
				html: `<p> 今天唐僧过来,赶紧安排人去接待! 好家伙了 把他接过来、 念佛、 快点 由世界品牌实验室(World Brand Lab)主办的(第十六届)“世界品牌大会”在北京举行,会上发布了2019年《中国500最具价值品牌》分析报告。在这份基于财务数据、品牌强度和消费者行为分析的年度报告中, </p><p><img src="https://img.yzcdn.cn/vant/cat.jpeg" width="162" style=""> <img src="https://img.yzcdn.cn/vant/cat.jpeg" width="163" style=""></p>`

			}
		},
		methods: {
			//通讯录
			OnOtherMiniProgram() {
				uni.navigateBack();
			},

			changeTab(tab) {
				if (tab !== 'tab2') {
					this.currentTab = tab;
				}
			},
			handlePublishClick() {
				console.log('当前已经是 tab2');
				this.show_fab = true
				this.show_tu = false
				uni.navigateTo({
					url: '/pages/internal/postarticle/postarticle'
				})
			},
			OnshowInthe() {
				this.show_fab = false
			},

			saveContent() {
				this.editorIns.getContents().then((content) => {
					console.log('保存内容:', content.html);
				});
			},
			//显示输入评论
			OnShowComments() {
				this.comment = '';
				this.showInputcomments = true
			},
			OnComments() {
				this.comment = '';
				this.showInputcomments = false
			},
			onSubmitComments() {
				console.log("测试了", this.comment);
				this.showInputcomments = false
			},


		}
	}
</script>
<style src="./styles.css"></style>

上方代码直接赋值可运行 有些头部哪个我没有弄进来
哪个很简单


总结

目前感觉还是很简单的可以自己也可以在优化一下

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

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

相关文章

JWT 快速入门

什么是 JWT JSON Web Token&#xff08;JWT&#xff09;是目前最流行的跨域身份验证解决方案 JSON Web Token Introduction - jwt.ioLearn about JSON Web Tokens, what are they, how they work, when and why you should use them.https://jwt.io/introduction 一、常见会…

Vue13-计算属性的简写

一、计算属性的简写 注意&#xff1a; 当计算属性只有get&#xff0c;没有set的时候&#xff0c;才能用简写形式&#xff01;&#xff01;&#xff01;

端午与高考的交汇点:家的温暖与梦想的起点

当端午节的粽香弥漫在街头巷尾&#xff0c;高考的脚步也悄然而至。这两个看似毫无关联的时刻&#xff0c;却在每年的六月&#xff0c;奇妙地交汇在一起&#xff0c;为我们带来了一段特别的记忆。这不仅是家的温暖与梦想的起点相遇的时刻&#xff0c;更是传统文化与现代追求共融…

Rust-06-所有权

所有权&#xff08;系统&#xff09;是 Rust 最为与众不同的特性&#xff0c;它让 Rust 无需垃圾回收即可保障内存安全&#xff0c;下面是所有权以及相关功能&#xff1a;借用&#xff08;borrowing&#xff09;、slice 以及 Rust 如何在内存中布局数据。 通过所有权系统管理内…

Java版工程项目管理平台:以源码驱动,引领工程企业数字化转型

在当今数字化时代&#xff0c;随着企业的扩张和业务的增长&#xff0c;传统的工程项目管理方法已显不足。为了提升管理效率、减轻工作负担、增强信息处理的快速性和精确度&#xff0c;工程企业亟需借助数字化技术进行转型升级。本文将向您展示一款基于Spring Cloud、Spring Boo…

当前主流的App开发技术综述

一、引言 随着移动互联网的蓬勃发展&#xff0c;App&#xff08;应用程序&#xff09;已经成为人们日常生活中不可或缺的一部分。无论是社交、购物、娱乐还是工作学习&#xff0c;App都以其便捷、高效和个性化的特点深受用户喜爱。而在这一过程中&#xff0c;App开发技术也在不…

MFC 教程-文本框失去焦点处理

【1】增加窗口的消息处理函数 void CTESTMFCDlg::OnKillFocus(CWnd* pNewWnd) {//CDialogEx::OnKillFocus(pNewWnd);//首先使用true将数据从控件传入成员变量中UpdateData(true);//校验成员变量m_data中的数据是否符合要求&#xff0c;如果不符合&#xff0c;修改后将它显示在控…

访问网站时IP被阻止?原因及解决方法

在互联网上&#xff0c;用户可能会面临一个令人困扰的问题——当尝试访问某个特定的网站时&#xff0c;却发现自己的IP地址被该网站屏蔽。 IP地址被网站屏蔽是一个相对常见的现象&#xff0c;而导致这种情况的原因多种多样&#xff0c;包括恶意行为、违规访问等。本文将解释IP地…

转让北京公司带旅行许可证流程和要求

旅行社是开展旅游服务业务的专项经济主体&#xff0c;旅行社开展相关业务必须持有旅行社业务经营许可证。该资质又分为国内旅行社经营许可证和出境旅行社经营许可证。主要区别在于能否开展出境旅游业务&#xff0c;下面老耿带大家了解&#xff0c;新成立国内旅行社要求及出境旅…

Git之解决重复输入用户名和密码(三十九)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

【CS.CN】深入探讨下HTTP的Connection头:通过keep-alive实现高效网络连接

文章目录 0 序言0.1 由来0.2 使用场景0.3 现在还需要吗&#xff1f; 1 Connection: keep-alive的机制2 语法 && 通过设置Connection: keep-alive优化性能3 验证与性能提升4 总结References 0 序言 0.1 由来 Connection头部字段在HTTP/1.1中被引入&#xff0c;主要用于…

React的useState的基础使用

import {useState} from react // 1.调用useState添加状态变量 // count 是新增的状态变量 // setCount 修改状态变量的方法 // 2.添加点击事件回调 // userState实现计数实例import {useState} from react// 使用组件 function App() {// 1.调用useState添加状态变量// coun…

ChatTTS增强版V2,批量导出srt,语速控制,情感控制,支持朗读数字,问题修复

ChatTTS增强版最新版本已经发布&#xff0c;本次更新我主要增加了多文本批量、SRT导出、语速控制、情感控制、停顿控制等新功能&#xff0c;并针对上一版本中存在的数字读音异常、随机uv_break等问题进行了修复。 视频版本 【ChatTTS增强版V2&#xff0c;批量导出srt&#xff…

基于C#的计算机与安捷伦34970A通信方法

概述 安捷伦34970A采集数据&#xff0c;34970A支持RS232接口&#xff0c;但是如果直接用winform自带的seriaport类基本是没必要使用的&#xff0c;安捷伦等仪表通讯需要用到VISA的库。 库的获取 1. 是德科技的IO Library. 2. NI下载NI-VISA. 两者用法接近. 代码如下 using…

数据库安全加固与API防护策略

在数字化时代&#xff0c;数据库作为企业核心资产的安全性至关重要。然而&#xff0c;随着网络攻击手段的不断演进&#xff0c;数据库和API接口成为了黑客的主要攻击目标。本文将探讨数据库被攻击、API接口被滥用的情况&#xff0c;并提供一系列实用的防护措施&#xff0c;旨在…

JSP中连接数据库MySQL

JSP中连接数据库MySQL 一、软件环境 下载并安装MySQL&#xff0c;Tomacat&#xff0c;JDBC、IDEA或其他IDE&#xff0c;本文使用IDEA 二、环境配置 将其环境变量配置好之后&#xff0c;下载Java 专用的连接MySQL的驱动包JDBC。 下载链接&#xff1a;https://dev.mysql.com/…

机器学习----奥卡姆剃刀定律

奥卡姆剃刀定律&#xff08;Occam’s Razor&#xff09;是一条哲学原则&#xff0c;通常表述为“如无必要&#xff0c;勿增实体”&#xff08;Entities should not be multiplied beyond necessity&#xff09;或“在其他条件相同的情况下&#xff0c;最简单的解释往往是最好的…

一篇学会Arthas的基本使用及常用指令

下载安装 下载arthas的jar包 https://alibaba.github.io/arthas/arthas-boot.jar将jar包下载后放到指定的文件夹中 启动与结束 winr打开命令行使用命令运行arthas对应的jar包 java -jar D:\application\arthas\arthas-boot.jar会列出所有的java服务选择要监控的服务&#xff0c…

mqtt-emqx:paho.mqttv5的简单例子

# 安装emqx 请参考【https://blog.csdn.net/chenhz2284/article/details/139551293?spm1001.2014.3001.5502】 # 下面是示例代码 【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</…

2024教资认定报名流程,点赞收藏!

2024年要进行教资认定的宝子们提早准备 &#x1f525;教资认定网上报名流程概览 一、进入教资认定网报入口 二、进行实名核验 三、申请网报时间查询 四、个人信息维护 五、认定申请报名 &#x1f525;教资认定所需材料 1⃣️身份证 2⃣️户口本&#xff0f;居住证&#xff0f;学…