uniapp 封装 navbar tabbar

news/2024/12/2 16:31:17/

最近换了一家公司工作

因为上家公司老板给的钱不多 还特别会压榨员工

好了好了,不扯皮了

1、封装navbar:

首先需要在pages.json中将对应页面的原生navbar给取消

举例:

{"pages": [{"path" : "pages/home/index/index","style" :{"navigationBarTitleText": "","navigationBarBackgroundColor": "#2EC461","navigationBarTextStyle": "white","navigationStyle": "custom" //取消原生的navbar,即自定义navbar}}]
}

然后新建一个vue页面文件,进行编写:

<template><uni-nav-bar shadow fixed status-bar background-color="#2EC461" color="#FFF" leftWidth="180rpx" right-width="180rpx"><template #left><view><location></location> <!--封装的另一个组件不用管它--></view></template><template #default><view class="navTitle flex-row-centerAll PingFangFont"><slot name="title"></slot></view></template></uni-nav-bar>
</template><script setup>import location from "../location/location"
</script><style lang="scss" scoped>.navTitle{width: 100%;height: 100%;font-size: 36rpx;text-align: center;font-weight: bolder;}
</style>

然后在需要用到的页面中进行引入:

<template><view><navbar><!--对应封装的navbar组件中的title slot插槽--><template slot="title"><view>页面标题</view></template></navbar></view>
</template><script setup>import navbar from "../../../components/navbar/navbar"
</script><style>
</style>

效果如下: 

 2.封装tabbar组件,新建tabbar.vue组件

<template><view class="tab"><view class="navView" @tap="switc('/pages/home/index/index')"><image :src="tabname ==='home'?'/static/tabbar/home_selected.png':'/static/tabbar/home.png'" class="navView-img"/><view :class="tabname ==='home'?'tabTextActive':'tabText'">棣栭〉</view></view><view class="navView" @tap="switc('/pages/my/my')"><image :src="tabname ==='my'?'/static/tabbar/my_selected.png':'/static/tabbar/my.png'" class="navView-img"/><view :class="tabname ==='my'?'tabTextActive':'tabText'">鎴戠殑</view></view></view>
</template><script setup>
import { onMounted } from "vue";defineProps({tabname:{type:String,default:'home'}})const switc = (val) => {if(!val)return;uni.switchTab({url:val})}onMounted(() => {uni.hideTabBar() //隐藏原生的tabbar})
</script><style lang="scss" scoped>.tab{position: fixed;bottom: 0;left: 0;display: flex;z-index: 1;align-items: center;width: 100%;height: 120rpx;background: #fff;box-shadow: 0rpx 0rpx 16rpx #999;.navView{flex: 1;text-align: center;font-size: 0;.navView-img{width: 48rpx;height: 48rpx;margin-bottom: 6rpx;}.tabText{font-size: 26rpx;color: #999;}.tabTextActive{font-size: 26rpx;color: #333333;}}}
</style>

然后在tabbar页面进行引入

<template><view><navbar><template slot="title"><view>善星球</view></template></navbar><tabbar tabname="home"></tabbar></view>
</template><script setup>import navbar from "../../../components/navbar/navbar"import tabbar from "../../../components/tabbar/tabbar"
</script><style>
</style>

看效果:

特地在样式里面加入了盒子阴影进行区分


http://www.ppmy.cn/news/614430.html

相关文章

shell访问php文件夹,Shell获取某目录下所有文件夹的名称

Shell获取某目录下所有文件夹的名称以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;Shell获取某目录下所有文件夹的名称, 已知目录D:/temp,获取temp下所有文件夹的名称并输出&#xff0c;She…

深度学习与传统图像识别

深度学习与传统图像识别 概述 传统方法中特征提取主要依赖人工设计的提取器&#xff0c;需要有专业知识及复杂的调参过程&#xff0c;同时每个方法都是针对具体应用&#xff0c;泛化能力及鲁棒性较差。 深度学习主要是数据驱动进行特征提取&#xff0c;根据大量样本的学习能…

matlab getstart,matlab帮助文件(matlab get start.pdf)

【实例简介】Matlab Primer【实例截图】【核心代码】Quick Start1MATLAB Product Description ........................... 1-2Key Features ..................................... 1-2Desktop Basics ....................................... 1-3Matrices and Arrays .....…

Js时间格式[转载]

var myDate new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份(4位,1970-????)myDate.getMonth(); //获取当前月份(0-11,0代表1月)myDate.getDate(); //获取当前日(1-31)myDate.getDay(); //获取当…

虚拟纹理与几何图像技术

虚拟纹理与几何图像技术 一&#xff0e; 基本图形学概念 图1. 几何与纹理。 曲面一般表示成三角网格和纹理图像&#xff0c;三角网格表示曲面的几何拓扑信息&#xff0c;纹理图像给出曲面的颜色材质等信息。将三角网格映射到平面区域的过程被称为曲面参数化&#xff0c;将纹理…

mysql 4.0.27 下载,CentOS编译Mysql 4.0.27数据库问题解决

CentOS编译Mysql 4.0.27数据库问题解决以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;现在好多人都用起了centos 但有些特殊要求还必须安装mysql 的数据库 在第一次安装过程中还遇到了不少问…

BZOJ1491: [NOI2007]社交网络(Floyd 最短路计数)

Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2343 Solved: 1266[Submit][Status][Discuss]Description 在社交网络&#xff08;socialnetwork&#xff09;的研究中&#xff0c;我们常常使用图论概念去解释一些社会现象。不妨看这样的一个问题。在一个社交圈子里有n个人&a…

RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比

RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比 一&#xff0e;RCNN 问题一&#xff1a;速度 经典的目标检测算法使用滑动窗法依次判断所有可能的区域。本文则预先提取一系列较可能是物体的候选区域&#xff0c;之后仅在这些候选区域上提取特征&#xff0c;进行判断。…