当前位置: 首页 > news >正文

微信小程序单双周选择排序有效果图

效果图

请添加图片描述

.wxml

<view class="group-box"><label class="radio" wx:for="{{['单周','双周','全选']}}" wx:key="index" bind:tap="radioChange"data-index="{{index}}"><radio checked="{{index === zcTem.index}}"/>{{item}}</label>
</view>
<view class="week-box"><view wx:for="{{zcArray}}" wx:key="index" class="week-item {{zcTem.arr[index]?'active':''}}"bind:tap="zcSelect" data-index="{{index}}">{{item}}</view>
</view>
<view class="label">{{zcTem.label}}</view>

.wxss

view{box-sizing: border-box;}
.group-box{display: flex;align-items: center;justify-content: center;padding: 30rpx 0;
}
.group-box>label{display: flex;align-items: center;
}
.group-box>label:nth-child(2){margin: 0 50rpx;
}
.week-box{padding: 0 50rpx;
}
.week-item{display: inline-flex;align-items: center;justify-content: center;width: calc((100% - 64rpx) / 5);height: 68rpx;margin: 10rpx 0 0 16rpx;background-color: #F3F5F7;border-radius: 10rpx;transition: background-color 0.3s;
}
.week-item:nth-child(5n + 1){margin-left: 0;
}
.active{background-color:#07C160;color: white;
}
.label{text-align: center;padding: 30rpx;
}

.js

Page({data: {zcCount:25,zcTem:{label: '',index: -1,arr: []},zcArray:[],zcSingle:[],zcDouble:[],},onLoad(){const arr = []const single = []const double = []const zcCount = this.data.zcCountconst zcTem = this.data.zcTemfor (let i = 1; i <= zcCount; i++) {arr.push(`${i}`)zcTem.arr.push('')if (i % 2 !== 0) {single.push(`${i}`)double.push('')continue}single.push('')double.push(`${i}`)}this.setData({zcTem,zcArray:arr,zcSingle:single,zcDouble:double,})},radioChange(e){const index = e.currentTarget.dataset.indexconst o = this.data.zcTemif (index === o.index) {o.index = -1o.label = ''o.arr = []this.setData({zcTem:o,})return}o.index = indexlet temif (index === 0) {const d = this.data.zcSingleo.label = `第${d[0]}-${d[d.length - 1]}周(单周)`tem = JSON.stringify(d)} else if (index === 1) {const d = this.data.zcDoubleo.label = `第${d[1]}-${d[d.length - 2]}周(双周)`tem = JSON.stringify(d)} else {const d = this.data.zcArrayo.label = `第1-${d[d.length - 1]}周`tem = JSON.stringify(d)}o.arr = JSON.parse(tem)this.setData({zcTem:o,})},zcSelect(e){const index = e.currentTarget.dataset.indexconst o = this.data.zcTemo.arr[index] = o.arr[index] ? '' : `${index + 1}`if (JSON.stringify(o.arr) === JSON.stringify(this.data.zcArray)) {o.index = 2const d = this.data.zcArrayo.label = `第1-${d[d.length - 1]}周`this.setData({zcTem:o})return}if (JSON.stringify(o.arr) === JSON.stringify(this.data.zcSingle)) {o.index = 0const d = this.data.zcSingleo.label = `第${d[0]}-${d[d.length - 1]}周(单周)`this.setData({zcTem:o})return}if (JSON.stringify(o.arr) === JSON.stringify(this.data.zcDouble)) {o.index = 1const d = this.data.zcDoubleo.label = `第${d[1]}-${d[d.length - 2]}周(双周)`this.setData({zcTem:o})return}const len = o.arr.lengthlet arr = ''; let start = ''; let end = '周'; let or = 0; let name = ''for (let i = 0; i < len; i++) {if (o.arr[i]) {if (end === '周') {name = parseInt(o.arr[i]) % 2 !== 0 ? '单周' : '双周'start = arr ? `,第${o.arr[i]}` : `第${o.arr[i]}`}if (o.arr[i + 1]) {if (or === 2) {or = 0arr += start + endstart = ''end = '周'continue}or = 1end = `-${o.arr[i + 1]}周`continue}if (or !== 1 && o.arr[i + 2]) {i += 1or = 2end = `-${o.arr[i + 1]}${name}`continue}i += or === 1 ? 1 : 2or = 0if (start) {arr += start + endstart = ''end = '周'}}}o.index = -1o.label = arrthis.setData({zcTem:o})}
})

遇到问题可以看我主页加我Q,很少看博客,对你有帮助别忘记点赞收藏。

http://www.xdnf.cn/news/404191.html

相关文章:

  • Java游戏服务器开发流水账(6)网关服务器简介
  • Python 字符串
  • 基于STM32_HAL库的IIC通信并驱动OLED屏幕
  • 用 AltSnap 解锁 Windows 窗口管理的“魔法”
  • UE RPG游戏开发练手 第二十二课 卸下手上武器
  • 【prometheus+Grafana篇】基于Prometheus+Grafana实现windows操作系统的监控与可视化
  • 小刚说C语言刷题—1149 - 回文数个数
  • 电厂除灰系统优化:时序数据库如何降低粉尘排放
  • Android Studio 中 build、assemble、assembleDebug 和 assembleRelease 构建 aar 的区别
  • 知名人工智能AI培训公开课内训课程培训师培训老师专家咨询顾问唐兴通AI在金融零售制造业医药服务业创新实践应用
  • 自然语言处理(NLP)在影评情感分析中的处理流程示例
  • LVGL(lv_list列表控件)
  • ORB特征点检测算法
  • 如何更改默认字体:ONLYOFFICE 协作空间、桌面编辑器、文档测试示例
  • Spring AI 与 Hugging Face 深度集成:打造高效文本生成应用
  • 扩展:React 项目执行 yarn eject 后的 config 目录结构详解
  • Spring AI 与 Groq 的深度集成:解锁高效 AI 推理新体验
  • 七、MyBatis-Plus高级用法:最优化持久层开发
  • 从0开始学习大模型--Day07--大模型的核心知识点
  • TCPIP详解 卷1协议 十 用户数据报协议和IP分片
  • 还在用付费?免费它不香吗
  • 集群脑裂危机!金仓数据库双主故障如何紧急救援?​
  • 电商物流管理优化:从网络重构到成本管控的全链路解析
  • OSI 7层模型
  • 详解RabbitMQ工作模式之发布确认模式
  • nvm管理node版本
  • 如何使用Selenium?
  • 【Jenkins简单自动化部署案例:基于Docker和Harbor的自动化部署流程记录】
  • Golang企业级商城高并发微服务实战
  • RNN(循环神经网络)原理与结构