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

uniapp日期区间选择器

uniapp日期区间选择器

在 uniapp 中创建一个简单的自定义日期范围的日期区间选择器:
- 限制有效日期范围开始日期为 2024-01-01,结束日期为当日;
- 默认日期区间为当日向前计算的7日区间;
- 选择开始时间后,判断不可大于结束时间,且重置开始时间为结束时间;
- 选择结束时间后,判断不可小于开始时间,且重置结束时间为开始时间;

示例代码:

html:

<view class="picker-container"><view class="picker-item"><view class="picker-item-title">开始日期 :</view><picker mode="date" :value="startDate" start="2024-01-01" :end="todayDate" @change="bindStartDateChange"><view>{{startDate}}</view></picker></view><view class="picker-item"><view class="picker-item-title">结束日期 :</view><picker mode="date" :value="endDate" start="2024-01-01" :end="todayDate" @change="bindEndDateChange"><view>{{endDate}}</view></picker></view>
</view>


CSS:

.picker-container{ height: 80rpx; font-size: 26rpx; display: flex; justify-content: space-around; align-items: center; border-radius: 10rpx; background-color: #fff;}
.picker-item{ padding: 16rpx; display: flex; justify-content: space-around; align-items: center;}
.picker-item-title{ color: #999; white-space: nowrap;}
.picker-item picker{ flex: 1; color: #8B4F8E; font-weight: bold;}


data设置参数数据:

data() {return {todayDate:'',startDate: '',endDate: '',}
},


created 或 onLoad 中,调用初始化日期区间方法:

this.setInitTime();


methods 处理方法:

setNum(num){if(num < 10){return '0' + num;}else{return num;}
},
setInitTime(){let thisTime = new Date();this.todayDate = thisTime.getFullYear() + '-' + this.setNum(thisTime.getMonth() + 1) + '-' + this.setNum(thisTime.getDate());let startTime = new Date(thisTime - (24 * 60 * 60 * 1000 * 6));this.startDate = startTime.getFullYear() + '-' + this.setNum(startTime.getMonth() + 1) + '-' + this.setNum(startTime.getDate());this.endDate = this.todayDate;this.getData();
},
bindStartDateChange(e) {if(new Date(e.detail.value) > new Date(this.endDate)){// 开始时间不可大于结束时间this.startDate = this.endDate;}else{this.startDate = e.detail.value;}this.getData();
},
bindEndDateChange(e) {if(new Date(e.detail.value) < new Date(this.startDate)){// 结束时间不可小于开始时间this.endDate = this.startDate;}else{this.endDate = e.detail.value;}this.getData();
},getData(){// 获取对应时间段数据console.log(this.startDate.replace(/-/g,'/') + '-' + this.endDate.replace(/-/g,'/'))
},

http://www.lryc.cn/news/348301.html

相关文章:

  • k8s job
  • Python---NumPy万字总结【此篇文章内容难度较大,线性代数模块】(3)
  • 【面试经典题】环形链表
  • 【联合索引】最左匹配原则是什么?
  • LeetCode 700.二叉搜索树中的搜索
  • 程序设计实践-课程设计任务布置(麦当劳) (price 200)(不包含文档)
  • leetcode 918.环形子数组的最大和
  • Spring中用到的设计模式有哪些
  • CSS 样式清单整理:文字超出部分显示省略号和设置placeholder的字体样式
  • Docker容器:Docker-Consul 的容器服务更新与发现
  • 容器化Jenkins远程发布java应用(方式二:自定义镜像仓库远程拉取构建)
  • 解密某游戏的数据加密
  • 【报错合集】完美解决“虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本”
  • YOLOv8小白中的小白安装环境教程!没一个字废话,看一遍不踩坑!
  • C#正则表达式,提取信息使用
  • 【数据结构】详解队列
  • 大模型微调方法汇总
  • 探究NVMe SSD HMB应用场景与影响-<续>
  • YTU 3166 共享单车 DFS 记忆化搜索
  • RAG应用中的路由模式
  • 运维:SSH常用命令简介
  • Springboot+Vue项目-基于Java+MySQL的流浪动物管理系统(附源码+演示视频+LW)
  • 力扣刷题:四数相加Ⅱ
  • 如果通过Glide 设置图片圆角
  • Chatgpt学习技巧
  • [初学rust] 06_rust 元组
  • 基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (四)
  • C++进阶:哈希(1)
  • 第三节课,功能2:开发后端用户的管理接口-- postman--debug测试
  • Docker-compsoe部署prysm-beacon-chain + geth服务(geth版本v1.14.0)