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

DatePicker 日期选择器的使用(当日、近一周、近一月...)

template部分

<el-form-item label="操作日期:" style="margin-left: 50px;"><el-date-pickerv-model="dateRange"type="datetimerange"range-separator="~"start-placeholder="开始日期"end-placeholder="结束日期":shortcuts="shortcuts":disabled-date="disabledDate"style="width: 350px;":default-time="defaultTime"/>
</el-form-item>

script部分

// 初始化
const dateRange = ref<[Date, Date] | null>(null)// 禁用当前日期之后的时间
const disabledDate = (time: Date) => {return time.getTime() > Date.now()
}const defaultTime: [Date, Date] = [new Date(2000, 1, 1, 0, 0, 0),new Date(2000, 2, 1, 23, 59, 59)
]const shortcuts = [{text: '当日',value: () => {const end = new Date()const start = new Date(end)start.setHours(0, 0, 0, 0) // 设置为当天的凌晨 00:00:00return [start, end]}},{text: '近1周',value: () => {const end = new Date()const start = new Date()start.setDate(start.getDate() - 7)return [start, end]}},{text: '近1月',value: () => {const end = new Date()const start = new Date()start.setMonth(start.getMonth() - 1)return [start, end]}},{text: '近3个月',value: () => {const end = new Date()const start = new Date()start.setMonth(start.getMonth() - 3)return [start, end]}},{text: '近6个月',value: () => {const end = new Date()const start = new Date()start.setMonth(start.getMonth() - 6)return [start, end]}}
]const quickSetDateRange = (range: string) => {const now = new Date()let start: Dateswitch (range) {case 'day':start = new Date(now)breakcase 'week':start = new Date(now)start.setDate(now.getDate() - 7)breakcase 'month':start = new Date(now)start.setMonth(now.getMonth() - 1)breakcase '3months':start = new Date(now)start.setMonth(now.getMonth() - 3)breakcase '6months':start = new Date(now)start.setMonth(now.getMonth() - 6)breakdefault:start = new Date(now)}dateRange.value = [start, now]
}// 初始化时过滤数据并设置默认日期范围为近一周
quickSetDateRange('week')
quickDateRange.value = 'week'

UI效果

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

相关文章:

  • 【H2O2|全栈】JS进阶知识(六)ES6(2)
  • 聊聊主流几个JDK版本:JDK 8、JDK 11、JDK 17 和 JDK 21 的区别
  • MFC工控项目实例三十二模拟量校正值添加修改删除
  • 力扣第 60 题 “第 k 个排列”
  • 国际环境和背景下的云计算领域
  • logstash 解析数组格式json数据:split, json
  • Linux的开发工具(二)
  • Bokeh实现大规模数据可视化的最佳实践
  • Oracle表碎片整理与优化
  • 【华为云函数工作流】python的函数中如何获取请求链接中带的参数
  • 最新Kali安装详细版教程(附安装包,傻瓜式安装教程)
  • 【unity小技巧】unity最完美的CharacterController 3d角色控制器,实现移动、跳跃、下蹲、奔跑、上下坡、物理碰撞效果,复制粘贴即用
  • 66 mysql 的 表自增长锁
  • 神经网络问题之一:梯度消失(Vanishing Gradient)
  • 企业网页设计的安全与数据保护
  • 对 TypeScript 中类是怎么理解的?都有哪些应用场景?
  • 2024“龙信杯“电子数据取证竞赛-服务器取证题目Writeup
  • Label-studio-ml-backend 和YOLOV8 YOLO11自动化标注,目标检测,实例分割,图像分类,关键点估计,视频跟踪
  • Elasticsearch Windows版的安装及启动
  • 解决 VMware 嵌套虚拟化提示 关闭“侧通道缓解“
  • 基于Redis实现的手机短信登入功能
  • C# NetworkStream用法
  • 华三预赛从零开始学习笔记(每日编辑,复习完为止)
  • MySQL基础大全(看这一篇足够!!!)
  • [ 应急响应进阶篇-2 ] Linux创建后门并进行应急处置-1:超级用户帐号后门
  • 【无人机/平衡车/机器人】详解STM32+MPU6050姿态解算—卡尔曼滤波+四元数法+互补滤波
  • 数据结构-8.Java. 七大排序算法(上篇)
  • YOLOV5/rknn生成可执行文件部署在RK3568上
  • java http body的格式 ‌application/x-www-form-urlencoded‌不支持文件上传
  • GPU服务器厂家:为什么要选择 GPU 服务器?