当前位置: 首页 > 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.mrgr.cn/news/77683.html

相关文章:

  • Linux:confluence8.5.9的部署(下载+安装+pojie)离线部署全流程 遇到的问题
  • 浅谈,华为切入具身智能赛道
  • 硬盘(HDD)与固态硬盘(SSD)详细解读
  • 记录一次mysql的一些操作,mysql的docker,mysql备份,mysql表复制
  • 探索C/C++的奥秘之stack和queue
  • C/C++学习-引用
  • SpringBoot集成 Jasypt 实现数据源连接信息进行加密
  • 视频对接rtsp协议学习
  • Elasticsearch是如何实现Master选举的?
  • transformer.js(一):这个前端大模型运行框架的可运行环境、使用方式、代码示例以及适合与不适合的场景
  • Altium Designer学习笔记 6-10 异性元件库创建_原理图绘制
  • 【Linux清空显存占用】Linux 系统中清理 GPU 显存
  • PostgreSQL 性能优化全方位指南:深度提升数据库效率
  • React基础知识一
  • 论文复现_How Machine Learning Is Solving the Binary Function Similarity Problem
  • 解决 Android 单元测试 No tests found for given includes:
  • golang调用webview,webview2,go-webview2
  • 【分享一个vue指令】复制指令v-copy
  • 20241121 android中树结构列表(使用recyclerView实现)
  • 设计模式:4、命令模式(双重委托)
  • Altium Designer学习笔记 11-15 原理图的封装 编译 检查 _PCB封装库的创建
  • Android Studio 设置不显示 build-tool 无法下载
  • 各种语言书籍下载
  • leetcode-44-通配符匹配
  • 【web前端笔记】vue3 + vite的前端项目中,使用import.meta.glob()方法实现全局注册组件的通用代码
  • Linux从入门到精通