uniapp h5项目切换导航栏及动态渲染按钮颜色

news2024/11/18 18:08:52

1.效果图

2.html,动态渲染按钮样式---三元判断

<!-- 切换栏 -->
		<view class="statusList">
			<block v-for="(item,index) in list" :key="index">
				<view class="swiper-tab-list" :class="current == item.id?'active':''" @tap="getSize(item.id)">
					{{item.name}}
					<view :class="current == item.id?'bottomLine':''"></view>
				</view>
			</block>
		</view>
<view class="main" v-for="(item,index) in orderList1" :key="index">
			<view class="part1">
				<!-- 动态样式 -->
				<view
					:class="item.state == 0 ? 'status' : item.state == 1 ? 'status1' : item.state == 2 ? 'status2' : item.state == 3 ? 'status3' : ''">

					{{item.state == 0 ? '已取消' : item.state == 1 ? '待接单' :item.state == 2 ? '待回收' : item.state == 3 ? '已回收' : ''}}
				</view>
			</view>
			<view class="part2">
				<text class="type">
					{{item.type}}
				</text>
				<view class="">
					<!-- <view class="pad"> -->
					约
					<!-- </view> -->
					<text class="weight">
						{{item.weight}}
					</text>
					<!-- <view class="unit"> -->
					kg
					<!-- </view> -->
				</view>
			</view>
			<view class="line">

			</view>
			<view class="part3">
				<view class="">
					<view class="appointment">
						预约时间:
						<text class="time">2024-02-20 11:00</text>
					</view>
					<view class="">
						回收人员:
					</view>
				</view>
				<view :class="item.evaluate == 0 ? 'evaluate' : item.evaluate == 1 ? 'evaluate1' : ''">
					{{item.evaluate == 0 ? '未评价' : item.evaluate == 1 ? '已评价' : ''}}
				</view>
			</view>
		</view>

3.javaScript

data() {
			return {
				// 切换栏
				list: [{
						id: 1,
						name: '待接单'
					},
					{
						id: 2,
						name: '待回收'
					},
					{
						id: 3,
						name: '已回收'
					},
					{
						id: 0,
						name: '已取消'
					},
				],
				current: 1,
				orderList1: [{
						state: 1,
						type: '纸类',
						weight: '5.5',
						evaluate: 0
					},
					{
						state: 1,
						type: '塑料瓶',
						weight: '6.5',
						evaluate: 1
					}
				],
				orderList2: [{
						state: 2,
						type: '纸类',
						weight: '7.5',
						evaluate: 0
					},
					{
						state: 2,
						type: '塑料瓶',
						weight: '8.5',
						evaluate: 1
					}
				],
				orderList3: [{
						state: 3,
						type: '纸类',
						weight: '9.5',
						evaluate: 0
					},
					{
						state: 3,
						type: '塑料瓶',
						weight: '10.5',
						evaluate: 1
					}
				],
				orderList4: [{
						state: 0,
						type: '纸类',
						weight: '11.5',
						evaluate: 0
					},
					{
						state: 0,
						type: '塑料瓶',
						weight: '12.5',
						evaluate: 0
					}
				]
			}
		},
getSize(id) {
				if (this.current != id) {
					this.current = id

					if (this.current == 0) {
						this.page = 1
						this.state = 0
						this.orderList1 = this.orderList4

					} else if (this.current == 1) {
						console.log(this.current, '11111')
						uni.pageScrollTo({
							scrollTop: this.scrollTop1,
							duration: 100
						});
						this.orderList1 = [{
								state: 1,
								type: '纸类',
								weight: '5.5',
								evaluate: 0
							},
							{
								state: 1,
								type: '塑料瓶',
								weight: '6.5',
								evaluate: 1
							}
						]
					} else if (this.current == 2) {
						console.log(this.current, '222222')
						uni.pageScrollTo({
							scrollTop: this.scrollTop2,
							duration: 100
						});
						this.orderList1 = this.orderList2
					} else {
						uni.pageScrollTo({
							scrollTop: this.scrollTop3,
							duration: 100
						});
						this.orderList1 = this.orderList3
					}
				}
			},

4.css

page {
		background: #F1F4F9;
	}

	.statusList {
		width: 100%;
		background: #fff;
		z-index: 999;
		height: 120rpx;
		display: flex;
		justify-content: space-around;
		align-items: center;

		.swiper-tab-list {
			position: relative;
			font-size: 36rpx;
			font-weight: 500;
			color: #999;

			.bottomLine {
				position: absolute;
				left: 50%;
				bottom: -10rpx;
				transform: translateX(-50%);
				width: 48rpx;
				height: 6rpx;
				background: orange;
				border-radius: 5rpx;
				text-align: center;
			}
		}

		.active {
			font-weight: bold;
			color: #333;
		}
	}
.main {
		margin: 28rpx 24rpx;
		background: #fff;


		.part1 {
			padding: 28rpx 36rpx 15rpx 36rpx;

			.status,
			.status1,
			.status2,
			.status3,
			{
			width: 120rpx;
			height: 50rpx;
			background-color: red;
			border-radius: 15rpx;
			color: white;
			text-align: center;
			line-height: 50rpx;
			// margin: 28rpx 0 24rpx 36rpx;
		}

		.status1 {
			background-color: rgb(214, 170, 75);
		}

		.status2 {
			background-color: orange;
		}

		.status3 {
			background-color: orange;
		}
	}
.part2 {
		display: flex;
		justify-content: center;
		// align-items: center;

		height: 57rpx;
		line-height: 57rpx;
		margin-bottom: 34rpx;

		.type {
			font-family: Source Han Sans SC;
			font-weight: 500;
			font-size: 36rpx;
			color: #000000;
			opacity: 0.85;
			margin-right: 35rpx;
			line-height: 70rpx;
		}

		.pad {
			margin-right: 15rpx;
			font-family: Source Han Sans SC;
			font-size: 24rpx;
			color: #000000;
			opacity: 0.85;
			line-height: 76rpx;
		}

		.weight {
			font-family: Source Han Sans SC;
			font-weight: 500;
			font-size: 60rpx;
			color: #3EAAFB;
			margin-right: 16rpx;
			// line-height: 11rpx;
		}

		.unit {
			font-size: 24rpx;
			color: #000000;
			opacity: 0.85;
			line-height: 76rpx;
		}
	}
.part3 {
		padding: 0 36rpx 15rpx 36rpx;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;

		.appointment {
			display: flex;
			align-items: flex-end;

			.time {
				font-family: Source Han Sans SC;
				font-weight: 400;
				font-size: 24rpx;
				color: #000000;
				opacity: 0.45;

			}
		}

		.evaluate,
		.evaluate1 {
			width: 120rpx;
			height: 50rpx;
			background-color: red;
			text-align: center;
			color: white;
			border-radius: 15rpx;
		}

		.evaluate {
			background: red;
		}

		.evaluate1 {
			font-family: Source Han Sans SC;
			font-weight: 400;
			color: #000000;
			opacity: 0.45;
			background: #EBEBEB;
		}
	}

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

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

相关文章

基于扩散模型的,开源世界模型DIAMOND

日内瓦大学、微软研究院和爱丁堡大学的研究人员联合开源了&#xff0c;基于扩散模型的世界模型—DIAMOND。 研究人员之所以选择扩散模型作为基础&#xff0c;是因为可以更好地捕捉视觉细节&#xff0c;同时具有建模复杂多模态分布的能力&#xff0c;以便在不同的环境下进行训练…

网络融合的力量:企业如何通过“一网多用”提升业务效率

随着企业业务的不断扩展&#xff0c;网络需求变得日益复杂。需要的是一种能够统一承载办公、生产、销售和运营等多业务需求的网络架构。这种“一网多用”的架构&#xff0c;不仅简化了网络部署和管理&#xff0c;还提升了效率并降低了成本。 “一网多用”架构的实际应用&#x…

[ C++ ] 深入理解模板( 初 阶 )

函数模板 函数模板格式 template <typename T1, typename T2,......,typename Tn> 返回值类型 函数名(参数列表){} 注意&#xff1a; typename是用来定义模板参数关键字&#xff0c;也可以使用class(切记&#xff1a;不能使用struct代替class) 函数模板的实例化 模板参数…

文件预览的实现

1.pdf预览 使用iframe 如果是预览本地文件&#xff0c;且是vue项目&#xff0c;pdf文件需要放在public文件夹下。 调试环境&#xff1a;vue、vant、js <template><div style"height: 100%;width: 100%"><iframe :src"pageUrl" style&quo…

Docker容器测试-常见问题+解决

前言 问题1&#xff1a;创建 nginx 容器尝试挂载 nginx.conf 文件时报错&#xff1a; mounting “/root/nginx.conf” to rootfs at “/etc/nginx/nginx.conf” caused: mount through procfd: not a directory: 在自己的服务器上想通过 nginx 镜像创建容器&#xff0c;并挂载…

ROS | C++和python实现发布结点和订阅结点

发布者结点&#xff1a; 代码实现&#xff1a; python: C: C和Python发布结点的差异&#xff1a; python: 发布结点pub 大管家rospy调用publisher函数发布话题 (话题,类型&#xff0c;话题长度&#xff09; C: 先定义一个大管家&#xff1a;NodeHandle 然后大管家发布话题…

【leetcode——栈的题目】——1003. 检查替换后的词是否有效python

题目&#xff1a; 给你一个字符串 s &#xff0c;请你判断它是否 有效 。 字符串 s 有效 需要满足&#xff1a;假设开始有一个空字符串 t "" &#xff0c;你可以执行 任意次 下述操作将 t 转换为 s &#xff1a; 将字符串 "abc" 插入到 t 中的任意位置…

Dinky MySQLCDC 整库同步到 MySQL jar包冲突问题解决

资源&#xff1a;flink 1.17.0、dinky 1.0.2 问题&#xff1a;对于kafka相关的包内类找不到的情况 解决&#xff1a;使用 flink-sql-connector- 胖包即可&#xff0c;去掉 flink-connector- 相关瘦包&#xff0c;解决胖瘦包冲突 source使用 flink-sql-connector- 胖包&#…

2024年西安交通大学程序设计校赛

A题 签到题 代码如下 //A #include<iostream> #include<algorithm> #define int long long #define endl \n #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); using namespace std; signed main() {IOSint a,b,c,d;cin>>a>>b>>c…

景源畅信:抖音小店如何开橱窗?

在当今数字化时代&#xff0c;社交媒体平台不仅仅是人们交流和分享生活的工具&#xff0c;更成为了商家们展示和销售产品的重要场所。抖音作为一款流行的短视频社交应用&#xff0c;其内置的电商功能——抖音小店&#xff0c;为众多商家和个人提供了便捷的在线销售途径。其中&a…

geotrust通配符证书600元且赠送一个月

GeoTrust作为国际知名的数字证书颁发机构&#xff0c;旗下有RapidSSL、QuickSSL等子品牌经营着各种类型的SSL数字证书&#xff0c;其中RapidSSL旗下的SSL数字证书都是入门级的&#xff0c;性价比高。审核速度也比较快&#xff0c;证书的适用范围也比较广泛。今天就随SSL盾小编了…

一款开箱即用的Markdown 编辑器!【送源码】

开源的 Markdown 编辑器 Cherry Markdown Editor 是一款前端-markdown-编辑器-组件&#xff0c;具有开箱即用、轻量简洁、易于扩展等特点&#xff0c;它可以运行在浏览器或服务端 (NodeJs). 当 Cherry Markdown 编辑器支持的语法不满足开发者需求时&#xff0c;可以快速的进行…

在WHM中如何调整max_upload_size 参数大小

今日我们在搭建新网站时需要调整一下PHP参数max_upload_size 的大小&#xff0c;我们公司使用的Hostease的美国独立服务器产品默认5个IP地址&#xff0c;也购买了cPanel面板&#xff0c;因此联系Hostease的技术支持&#xff0c;寻求帮助了解到如何在WHM中调整PHP参数&#xff0…

蓝桥杯物联网竞赛_STM32L071KBU6_对于EEPROM的新理解

EEPROM写函数&#xff1a; void Function_GetEepromData(){Function_EepromRead(4, BUFF);OLED_ShowChar(0, 0, BUFF[0] 0);OLED_ShowChar(0, 2, BUFF[1] 0); BUFF[0] ;BUFF[1] ;HAL_FLASHEx_DATAEEPROM_Unlock();HAL_FLASHEx_DATAEEPROM_Program(FLASH_TYPEPROGRAMDATA_WOR…

《STM32Cube高效开发教程基础篇》- 安装软件/Demo3_1LED

文章目录 下载两个软件安装问题记录在STM32CubeMX中新建项目编辑代码在CudeMX中完成图形化设置在CudeIdea中编码在CLion中编码&#xff08;智能化&#xff09; 效果图 下载两个软件 百度网盘链接&#xff1a;https://pan.baidu.com/s/1uXLWIIVCJbF4ZdvZ7k11Pw 提取码&#xff1…

kubernetes-PV与PVC

一、PV和PVC详解 当前&#xff0c;存储的方式和种类有很多&#xff0c;并且各种存储的参数也需要非常专业的技术人员才能够了解。在Kubernetes集群中&#xff0c;放了方便我们的使用和管理&#xff0c;Kubernetes提出了PV和PVC的概念&#xff0c;这样Kubernetes集群的管理人员就…

华发股份:加强业务协同 新政下项目热销

“5.17”楼市政策出台后&#xff0c;各地密集落地执行。5月27—28日&#xff0c;上海、广州、深圳三个一线城市跟进落地“517”新政。上海发布《关于优化本市房地产市场平稳健康发展政策措施的通知》&#xff0c;共计9条调整政策&#xff0c;涵盖外地户籍、人才、单身、婚否、企…

如何恢复被盗的加密货币?

本世纪&#xff0c;网络犯罪的首要目标是加密货币。 这要归功于加密货币的日益普及和价值&#xff0c;网络犯罪分子已经认识到经济收益的潜力&#xff0c;并将重点转向利用这种数字资产中的漏洞。 在今天的文章中&#xff0c;我们将讨论加密货币恢复和被盗加密货币恢复。 我们…

爱设计AiPPT.cn赵充:营销工作的AI进化

爱设计&AiPPT.cn是一家 AIGC 数字科技企业&#xff0c;致力于打造「下一代个人与组织的 Ai 工作站」 。目前旗下产品包括AiPPT.cn、爱设计AIGC 内容中台、365 编辑器、爱设计在线设计工具、AiH5 等超过 10 余款应用 AI 能力的内容创作工具。日前&#xff0c;爱设计&AiP…

SpringMVC 数据映射VC

从 view 层发送请求到Controller&#xff0c;在Controller中获取参数&#xff1a; 在不输入值时会报400&#xff0c;参数错误 在不输入值时num默认为null 没有找到对应标签名称叫nums的&#xff0c;输入任何值时都报400 设置required默认值为false&#xff0c;即使表单没有nums…