uniapp:tabBar点击后设置动画效果

APP端不支持dom操作,也不支持active伪类,绞尽脑汁也没办法给uniapp原生的tabBar点击加动画效果,所以最终只能舍弃原生tabBar,改用自定义tabBar。

自定义tabBar的原理是,页面的上部分分别是tabBar对应的页面组件,下部分是固定在底部的tabBar,通过点击tabBar获取到当前索引,然后通过v-if来判断显示哪个页面组件,跟原生tabBar不同的是,这里仅用一个page,所以在pages.json里只需要注册index页面即可,在router里也只需要设置index即可,同时也要注意,其他页面组件并不是一个页面,所以没有onShow,onLoad等方法,可以通过computed和watch来达到类似效果。

index页面的完整代码:

<template><view><home v-if="PageCur=='home'" /><orders v-if="PageCur=='orders'" /><messages v-if="PageCur=='messages'" /><find v-if="PageCur=='find'" /><my v-if="PageCur=='my'" :userInfo="userInfo"/><view class="cu-bar tabbar bg-white shadow foot"><view class="cu-bar tabbar bg-white shadow foot"><view :class="PageCur=='home'?activeColor:defaultColor" @click="NavChange" data-cur="home"><view class='cuIcon-homefill' :class="PageCur=='home'?'animation-bounce':''"></view>主页</view><view :class="PageCur=='orders'?activeColor:defaultColor" @click="NavChange" data-cur="orders"><view class='cuIcon-formfill' :class="PageCur=='orders'?'animation-bounce':''"></view>订单</view><view :class="PageCur=='messages'?activeColor:defaultColor" @click="NavChange" data-cur="messages"><view class='cuIcon-commentfill' :class="PageCur=='messages'?'animation-bounce':''"></view>消息</view><view :class="PageCur=='find'?activeColor:defaultColor" @click="NavChange" data-cur="find"><view class='cuIcon-explorefill' :class="PageCur=='find'?'animation-bounce':''"></view>发现</view><view :class="PageCur=='my'?activeColor:defaultColor" @click="NavChange" data-cur="my"><view class='cuIcon-myfill' :class="PageCur=='my'?'animation-bounce':''"></view>我的</view></view></view></view>
</template><script>import { USER_INFO } from "@/common/util/constants"export default {data() {return {defaultColor: 'action text-gray',activeColor: 'action text-red',PageCur: 'home',userInfo: {},};},onLoad: function() {this.PageCur = 'home';this.userInfo = uni.getStorageSync(USER_INFO);},methods: {NavChange: function(e) {this.PageCur = e.currentTarget.dataset.cur;}}}
</script><style scoped lang="scss"></style>

在view的data-cur属性里设置每个tab的key,通过点击事件可以获取这个key,比如当key等于home时,通过动态类设置被选中的颜色,同理,给icon设置一个animation-bounce类,这个类是控制动画效果的,已经提前写在一个animation.css文件里了,这种动画效果的css文件网上很多,可以自己找一下,icon会被放大1.4倍,然后恢复。

@-webkit-keyframes bounce {0% {transform: scale(1);}50% {transform: scale(1.4);}100% {transform: scale(1);}
}

最终效果:

参考文章:uniApp混合开发小程序实现自定义底部tab仿绿洲APP动画效果_uniapp的tabbar图标变化可以动画吗_湫沐椿风的博客-CSDN博客

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

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

相关文章

什么是Selenium?使用Selenium进行自动化测试!

你知道什么是 Selenium 吗&#xff1f;你知道为什么要使用它吗&#xff1f;答案就在本文中&#xff0c;很高兴能够与你共飧。 自动化测试正席卷全球&#xff0c;Selenium 认证是业界最抢手的技能之一。 什么是 Selenium&#xff1f; Selenium 是一种开源工具&#xff0c;用于…

400电话申请流程详解,助您快速办理联通、移动、电信400电话

导语&#xff1a;随着企业业务的发展&#xff0c;越来越多的企业开始关注400电话的申请与办理。本文将为您详细介绍联通、移动、电信400电话的申请流程&#xff0c;帮助您快速办理400电话&#xff0c;提升企业形象和客户服务质量。 一、联通400电话申请流程 咨询与选择&#x…

孤网双机并联逆变器下垂控制策略MATLAB仿真模型

微❤关注“电气仔推送”获得资料 主体模块&#xff1a; 建议使用MATLAB2021b及以上版本打开&#xff01; 功率计算模块、下垂控制模块、电压电流双环控制模块 系统输出有功功率: 系统输出无功功率&#xff1a; 系统频率变化曲线: 参考文献&#xff1a; 微电网并网运行模式下…

arcgis搭建离线地图服务WMTS

Arcgis搭建离线地图服务WMTS 发布时间&#xff1a;2021-03-04 版权&#xff1a; ARCGIS搭建离线地图服务器&#xff0c;进行离线地图二次开发 2. 离线地图服务发布&#xff08;WMTS服务&#xff09; &#xff08;详细教程&#xff1a;卫星地图_高清卫星地图_地图编辑_离线地…

数据结构上机1

1、题目&#xff1a; 将1~10存入数组a[10]&#xff0c;并将其逆序输出 #define _CRT_SECURE_NO_WARNINGS 1 //(1) 将1~10存入数组a[10]&#xff0c;并将其逆序输出#include <stdio.h>int main() {int a[10];// 将1到10存入数组a[10]for (int i 0; i < 10; i){a[i] i…

Day 02 python学习笔记

python运算符 算术运算符 混合运算的优先级&#xff1a; () 高于 ** * / // % 高于 - 赋值运算符 - * / ** a 1 > a 3 > a a 3 其余同理 注意&#xff1a; python没有自增自减 &#xff08;a a a-- --a&#xff09;…

ad18学习笔记十一:显示和隐藏网络、铺铜

如何显示和隐藏网络&#xff1f; Altium Designer--如何快速查看PCB网络布线_ad原理图查看某一网络的走线_辉_0527的博客-CSDN博客 AD19(Altium Designer)如何显示和隐藏网络 如何显示和隐藏铺铜&#xff1f; Altium Designer 20在PCB中显示或隐藏每层铺铜-百度经验 AD打开与…

404. 左叶子之和

给定二叉树的根节点 root &#xff0c;返回所有左叶子之和。 示例 1&#xff1a; 输入: root [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中&#xff0c;有两个左叶子&#xff0c;分别是 9 和 15&#xff0c;所以返回 24示例 2: 输入: root [1] 输出: 0 //bfs …

4年从外包到外企,一个测试老鸟的自述

4年前&#xff0c;我拖着行李箱来到北京&#xff0c;成为了一名北漂&#xff0c;离开了校园的庇护&#xff0c;只身一人&#xff0c;想要在这片陌生的地方闯出一番名堂&#xff0c;可最后却不得人意&#xff0c;面临着所有北漂群体的共同困局&#xff0c;没有归属感&#xff0c…

一文搞懂 this 指向

目录 一、前言二、箭头函数三、new指向四、bind五、call和apply六、bind call apply区别七、对象&#xff08;obj.&#xff09;八、全局this指向九、不在函数里 一、前言 JS 中 this 指向问题 - 掘金 在JavaScript中&#xff0c;this关键字表示当前执行代码的上下文对象。它的…

【Vue.js】使用Element搭建首页导航左侧菜单

目录 Mock.js 是什么 有什么好处 安装mockjs ​编辑 引入mockjs mockjs使用 login-mock Bus事物总线 首页导航栏与左侧菜单搭建 结合总线完成组件通讯 Mock.js 是什么 Mock.js是一个用于生成随机数据的模拟数据生成器。它可以帮助开发人员模拟接口请求&#xff0c;生…

10.正则表达式匹配

10.正则表达式匹配 上述5种可匹配情况的举例&#xff0c;便于理解&#xff1a; 1、a与ab星号是匹配的&#xff0c;分析&#xff1a;a与a匹配&#xff0c;让 b星号看作出现0次。 2、abb与ab*匹配&#xff0c;分析&#xff1a;ab与ab星号匹配&#xff0c;让b多出现1次时&#xff…

如何通过优化Read-Retry机制降低SSD读延迟?

近日,小编发现发表于2021论文中,有关于优化Read-Retry机制降低SSD读延迟的研究,小编这里给大家分享一下这篇论文的核心的思路,感兴趣的同学可以,可以在【存储随笔】VX公号后台回复“Optimizing Read-Retry”获取下载链接。 本文中主要基于Charge Trap NAND架构分析。NAND基…

多线程进阶:Callable和JUC的常见类

Callable 这是一个接口&#xff0c;类似于Runnable。 Runnable用来描述一个任务&#xff0c;描述的任务没有返回值。 Callable也是用来描述一个任务&#xff0c;描述的任务是有返回值的。 如果需要使用一个线程单独的计算出某个结果来&#xff0c;此时用Callable是比较合适…

爬虫异常处理实战:应对请求频率限制和数据格式异常

作为一名资深的爬虫程序员&#xff0c;今天我要和大家分享一些实战经验&#xff0c;教你如何处理爬虫中的异常情况&#xff0c;包括请求频率限制和数据格式异常。如果你是一个正在进行网络爬虫开发的开发者&#xff0c;或者对异常处理感兴趣&#xff0c;那么这篇文章将帮助你更…

【李沐深度学习笔记】基础优化方法

课程地址和说明 基础优化方法p2 本系列文章是我学习李沐老师深度学习系列课程的学习笔记&#xff0c;可能会对李沐老师上课没讲到的进行补充。 基础优化方法 在讲具体的线性回归实现之前&#xff0c;要先讲一下基础的优化模型的方法 梯度下降 当模型没有显示解&#xff08…

Rust之自动化测试(二):控制测试如何运行

开发环境 Windows 10Rust 1.72.1 VS Code 1.82.2 项目工程 这里继续沿用上次工程rust-demo 控制测试如何运行 正如cargo run编译您的代码&#xff0c;然后运行生成的二进制文件一样&#xff0c;cargo test在测试模式下编译您的代码&#xff0c;然后运行生成的测试二进制文件…

《计算机网络》——应用层

2.1 应用层协议原理&#xff08;P54&#xff09; 研发网络应用的核心是写出能够运行在不同端系统和通过网络彼此交流的程序。 2.1.1 网络应用程序体系结构 两种主流的应用体系结构&#xff1a;客户-服务器体系结构、对等体系结构。 客户-服务器体系&#xff1a;服务器是一个…

MeterSphere v2.10.X-lts 双节点HA部署方案

一、MeterSphere高可用部署架构及服务器配置 1.1 服务器信息 序号应用名称操作系统要求配置要求描述1负载均衡器CentOS 7.X /RedHat 7.X2C,4G&#xff0c;200GB部署Nginx&#xff0c;实现负载路由。 部署NFS服务器。2MeterSphere应用节点1CentOS 7.X /RedHat 7.X8C,16GB,200G…

二叉树题目:翻转等价二叉树

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;翻转等价二叉树 出处&#xff1a;951. 翻转等价二叉树 难度 4 级 题目描述 要求 对于二叉树&#xff0c;我们可以定义如下翻转操作&#xff1a;选…