uniapp制作--简单的tab切换

一、实现思路

                在UniApp中,可以使用v-if来控制Tab栏并进行切换。  创建一个方法来控制点击时的效果。      

二、实现步骤

        ①view部分展示

	<!-- tab选项 --><view class="select-area"><view class="select-top"><view class="course-table"><template v-for="(item,index) in changeList"><view :key="index" :class="['table-item', item.default ? 'table-item-active': '']":style="{borderRadius: index == 0 ? '64rpx 0 0 64rpx' : '0 64rpx 64rpx 0'}"@click="changeStatus(item)">{{ item.title }}</view></template></view></view></view><view v-if="tabIndex === 0" style="padding: 32rpx">00</view><view v-if="tabIndex === 1" style="padding: 32rpx">11</view>
代码解释:        

<view :key="index" :class="['table-item', item.default ? 'table-item-active': '']"
                            :style="{borderRadius: index == 0 ? '64rpx 0 0 64rpx' : '0 64rpx 64rpx 0'}"

 Vue/uni-app 中的模板语法,用于渲染一个列表中的每个项目,并根据项目的属性动态设置样式。
        :key="index":这是 Vue/uni-app 中的列表渲染时必须的属性,用于给每个列表项分配唯一的键。在这里,使用了列表项的索引作为键。
        :class="['table-item', item.default ? 'table-item-active': '']":这是一个动态类绑定,根据 item 对象的 default 属性的值来决定是否添加 table-item-active 类。如果 item.default 为真,则添加 table-item-active 类;否则不添加。无论如何,都会添加 table-item 类。
        :style="{borderRadius: index == 0 ? '64rpx 0 0 64rpx' : '0 64rpx 64rpx 0'}":这是一个动态样式绑定,根据当前列表项的索引来决定边框圆角的样式。如果当前索引是第一个项(index == 0),则设置左上角和左下角的圆角为 64rpx;否则设置右上角和右下角的圆角为 64rpx。
综合起来,这段代码的作用是渲染一个列表中的项目,并根据项目的属性动态设置类和样式。

        ②JavaScript 内容

                

	            tabIndex: 0,changeList: [{id: 0,title: '教务管理',default: true},{id: 1,title: '学工管理',default: false}],//方法,在methodsmethods: {//点击tab跳转changeStatus(item) {let obj = this.changeList.find(v => v.default)if (obj) {obj.default = falseitem.default = true}this.tabIndex = item.idif (this.tabIndex == 0 && this.token) {this.getScheduleList()} else if (this.tabIndex == 1 && this.token) {this.getPracticeList()}},
}

        ③css中样式展示

// <!-- tab选项 -->.select-area {padding: 0 0 12rpx 0;background-color: #fff;}.select-top {position: relative;width: 100%;height: 88rpx;.course-table {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);display: flex;align-items: center;width: 408rpx;height: 64rpx;background-color: #fff;border-radius: 64rpx;border: 2rpx solid #5990F5;// overflow: hidden;.table-item {letter-spacing: 2rpx;width: 50%;line-height: 64rpx;font-size: 28rpx;font-family: PingFang SC, PingFang SC;color: #5990F5;text-align: center;}.table-item-active {color: #fff;border: 2rpx solid transparent;background-color: #5990F5;}}}

三、效果展示

   

以上是一个简单的tab切换,主要使用了三元一次式来提交点击跳转时的样式。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++入门项目:通讯录管理系统

文章目录 一、步骤拆分1.系统需求2.显示菜单3.添加联系人4.显示联系人5.删除联系人6.查找联系人7.修改联系人8.清空通讯录9.退出功能 二、完整代码&#xff08;200行&#xff09;三、手把手视频教程 一、步骤拆分 1.系统需求 利用C来实现一个通讯录管理系统&#xff0c;系统中…

npm、cnpm、pnpm使用详细

简介&#xff1a; npm&#xff1a;npm&#xff08;Node Package Manager&#xff09;是Node.js的包管理工具&#xff0c;用于安装、更新、卸载Node.js的模块和包。它提供了一个命令行界面&#xff0c;使得开发者可以轻松地管理项目依赖。npm 是 nodejs 中的一部分&#xff0c;…

视频怎么在线转换gif?分享简单一招在线转换

在现在的互联网时代&#xff0c;gif动图已经是非常流行的一种图像格式了。特别是在网络聊天中&#xff0c;能够快速有效的传达情感等。当我们的手中有一些视频素材&#xff0c;想要从中截取gif动画时可使用在线动画制作&#xff08;https://www.gif.cn/&#xff09;工具&#x…

新手想玩硬件,买单片机还是树莓派好?

新手想玩硬件&#xff0c;买单片机还是树莓派好&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#x…

服务器出现故障如何恢复数据?

服务器数据恢复案例之服务器raid6中3块硬盘离线导致阵列崩溃的数据恢复案例 服务器故障&#xff1a; 服务器中有一组由6块盘组建的 RAID6&#xff0c;这台网站服务器上运行MYSQL数据库和存放其它类型的文件。该组raid中有两块磁盘离线&#xff0c;管理员没有及时更换磁盘&#…

基本设计模式

单例模式 ES5 function Duck1(name:string){this.namenamethis.instancenull }Duck1.prototype.getNamefunction(){console.log(this.name) }Duck1.getInstancefunction(name:string){if(!this.instance){this.instance new Duck1(name)} } const aDuck1.getInstance(a) const…

蓝桥杯——123

123 二分等差数列求和前缀和数组 题目分析 连续一段的和我们想到了前缀和&#xff0c;但是这里的l和r的范围为1e12&#xff0c;明显不能用O(n)的时间复杂度去求前缀和。那么我们开始观察序列的特点&#xff0c;可以按照等差数列对序列进行分块。如上图&#xff0c;在求前10个…

unity Game视图看不到贴花,但是在Scene视图能看到

解决方法&#xff1a;找到URP的配置文件 &#xff0c;修改Quality–RederScale为1&#xff0c;就可以了&#xff0c;这是unity 的bug&#xff0c;2022版本以后就没有这个问题了

ES完全入门

1、ES集群节点有哪些主要角色&#xff1f; 1.1、Master 1.2、Data 1.3、Ingest 1.4、Coordination 2、Shard数量的确定

Guitar Pro 8.1中文版永久许可证激活2024最新24位注册激活码生成器

Guitar Pro是一款非常受欢迎的音乐制作软件&#xff0c;它可以帮助用户创建和编辑各种音乐曲谱。从其诞生以来就送专门为了编写吉他谱而研发迭代的。 尽管这款产品可能已经成为全球最受欢迎的吉他打谱软件&#xff0c;在编写吉他六线谱和乐队总谱中始终处于行业领先地位&#…

BERT学习【BERT的例子以及作用】

一、case 1.case1 多输入单输出。通过输入一个句子&#xff08;sequence&#xff09;&#xff0c;然后输出一个句子的分类&#xff08;这个句子是正向还是负向&#xff09;。将句子输入BERT&#xff0c;然后通过softmax输出分类。 2.case2 多输入多输出。输入一个句子&…

Linux - 进程概念

1、冯诺依曼体系结构 我们常见的计算机&#xff0c;如笔记本。我们不常见的计算机&#xff0c;如服务器&#xff0c;大部分都遵守冯诺依曼体系&#xff1b; 截至目前&#xff0c;我们所认识的计算机&#xff0c;都是有一个个的硬件组件组成&#xff1a; 输入单元&#xff1a;…