uniapp 封装凸起导航栏

2023-10-30 14:40
文章标签 uniapp 封装 导航 凸起

本文主要是介绍uniapp 封装凸起导航栏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 

my-tabbar.vue

<template><view><view class="tabbar-container" :class="isIpx ? 'IpxBot' : ''"><view class="tabbar-item" v-for="(item, index) in tabList" :class="[item.centerItem ? 'center-item' : '']" @click="changeItem(item)" :key="index"><view class="item-top" :style="{ padding: item.id == 2 ? 0 : '8rpx' }"><image :src="tabId === item.id ? item.selectIcon : item.icon" mode=""></image></view><viewclass="item-bottom":style="[{ color: item.id == 2 ? '#fa3f22' : '' }, { fontWeight: item.id == 2 ? '700' : 'unset' }]":class="[tabId === item.id ? 'item-active' : '']"><text>{{ item.text }}</text></view></view></view></view>
</template><script>
export default {props: {currentPage: {type: Number,default: 0}},data() {return {isIpx: false,tabId: 0,tabList: [{id: 0,path: '/pages/family/index',icon: '/static/tabBar/home.png',selectIcon: '/static/tabBar/homeon.png',text: '我的',centerItem: false},{id: 1,path: '/pages/task/index',icon: '/static/tabBar/TASKHAII.png',selectIcon: '/static/tabBar/TASKHAIIon.png',text: '展示',centerItem: false},{id: 2,path: '/pages/vip/index',icon: '/static/tabBar/vip.png',selectIcon: '/static/tabBar/vip.png',text: 'VIP',centerItem: true},{id: 3,path: '/pages/record/index',icon: '/static/tabBar/record.png',selectIcon: '/static/tabBar/recordon.png',text: '入驻',centerItem: false},{id: 4,path: '/pages/me/index',icon: '/static/tabBar/my.png',selectIcon: '/static/tabBar/myon.png',text: '我的',centerItem: false}]};},mounted() {this.tabId = this.currentPage;uni.hideTabBar();},created() {let that = this;uni.getSystemInfo({success: function(res) {if (res.model.indexOf('iPhone X') !== -1) {that.isIpx = true;}}});},methods: {changeItem(item) {this.tabId = item.id;uni.navigateTo({url: item.path});}}
};
</script>
<style scoped>
view {padding: 0;margin: 0;box-sizing: border-box;
}.tabbar-container {position: fixed;bottom: 0;left: 0;width: 100%;/* height: 100rpx; *//* box-shadow: 0 0 5px #999; */display: flex;align-items: center;padding: 5rpx 0;color: #999999;background-color: #ffffff;
}.tabbar-container .tabbar-item {width: 20%;height: 100rpx;display: flex;flex-direction: column;justify-content: center;align-items: center;text-align: center;
}.tabbar-container .item-active {color: #f5cb2b;
}.tabbar-container .center-item {display: block;position: relative;
}.tabbar-container .tabbar-item .item-top {width: 70rpx;height: 70rpx;padding: 5rpx;
}.tabbar-container .center-item .item-top {flex-shrink: 0;width: 78rpx;height: 84rpx;position: absolute;top: -28rpx;left: calc(50% - 40rpx);border-radius: 50%;/* box-shadow: 0 0 5px #999; */background-color: #ffffff;
}.tabbar-container .tabbar-item .item-top image {width: 100%;height: 100%;
}.tabbar-container .tabbar-item .item-bottom {font-size: 25rpx;width: 100%;
}.tabbar-container .center-item .item-bottom {position: absolute;bottom: 2rpx;
}/* 适配iPhone X */
.IpxBot {padding-bottom: 30rpx !important;
}
</style>

family.vue

<template><view class=""><my-tabbar :currentPage="0"></my-tabbar></view>
</template><script>
</script><style>
</style>

这篇关于uniapp 封装凸起导航栏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/308606

相关文章

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

uniapp小程序中实现无缝衔接滚动效果代码示例

《uniapp小程序中实现无缝衔接滚动效果代码示例》:本文主要介绍uniapp小程序中实现无缝衔接滚动效果的相关资料,该方法可以实现滚动内容中字的不同的颜色更改,并且可以根据需要进行艺术化更改和自... 组件滚动通知只能实现简单的滚动效果,不能实现滚动内容中的字进行不同颜色的更改,下面实现一个无缝衔接的滚动

一文详解如何在Vue3中封装API请求

《一文详解如何在Vue3中封装API请求》在现代前端开发中,API请求是不可避免的一部分,尤其是与后端交互时,下面我们来看看如何在Vue3项目中封装API请求,让你在实现功能时更加高效吧... 目录为什么要封装API请求1. vue 3项目结构2. 安装axIOS3. 创建API封装模块4. 封装API请求

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操