根据element-plus DateTimePicker封装的shortcuts快捷选项

2 篇文章 0 订阅
2 篇文章 0 订阅

1. 组件封装类

// 组件名称命名为 getDate.ts

function getTimeRange(rangeType: any) {
  const start = new Date()
  const end = new Date()

  switch (rangeType) {
    // 今日
    case 'today':
      start.setHours(0, 0, 0, 0)
      end.setHours(23, 59, 59, 999)
      break
      // 昨日
    case 'yesterday':
      start.setDate(start.getDate() - 1)
      start.setHours(0, 0, 0, 0)
      end.setDate(end.getDate() - 1)
      end.setHours(23, 59, 59, 999)
      break
    // 最近七天
    case 'last7days':
      start.setDate(start.getDate() - 6)
      start.setHours(0, 0, 0, 0)
      end.setHours(23, 59, 59, 999)
      break
    // 这个月
    case 'currentMonth':
      start.setDate(1)
      start.setHours(0, 0, 0, 0)
      end.setMonth(end.getMonth() + 1)
      end.setDate(0)
      end.setHours(23, 59, 59, 999)
      break
    // 上个月
    case 'lastMonth':
      start.setMonth(start.getMonth() - 1)
      start.setDate(1)
      start.setHours(0, 0, 0, 0)
      end.setDate(0)
      end.setHours(23, 59, 59, 999)
      break
    // 最近3个月
    case 'before3Month':
      start.setMonth(start.getMonth() - 2)
      start.setDate(1)
      start.setHours(0, 0, 0, 0)
      end.setMonth(end.getMonth() + 1)
      end.setDate(0)
      end.setHours(23, 59, 59, 999)
      break
    default:
      console.error('Invalid range type')
      return
  }
  return [start, end]
}
export {
  getTimeRange,
}

2. 使用方法

<script lang="ts" setup>
import { getTimeRange } from '@/utils/getDate'
const shortcuts = [{
  text: '今日',
  value: () => getTimeRange('today'),
}, {
  text: '昨日',
  value: () => getTimeRange('yesterday'),
}, {
  text: '最近七日',
  value: () => getTimeRange('last7days'),
}, {
  text: '这个月',
  value: () => getTimeRange('currentMonth'),
}, {
  text: '上个月',
  value: () => getTimeRange('lastMonth'),
}, {
  text: '近3个月',
  value: () => getTimeRange('before3Month'),
}]
</script>


<template>
<el-date-picker
  v-model="data.search.times"
  type="datetimerange"
  range-separator="-"
  start-placeholder="开始时间"
  end-placeholder="结束时间"
  :clearable="false"
  :shortcuts="shortcuts"
/>
</template>
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Element-UI的datetimepicker是一个日期时间选择器,可以用来选择起始日期和结束日期。它具有以下特点和用法: 1. 可以通过引入DateTimePicker组件来使用datetimepicker。 2. 可以设置起始日期和结束日期的选择框,并且可以通过设置placeholder属性来显示提示信息。 3. 可以通过设置picker-options属性来设置选择框的选项。 4. 可以通过设置format属性来指定日期时间的显示格式。 5. 可以通过设置value-format属性来指定日期时间的值的格式。 6. 可以通过change事件来监听日期时间的变化,并执行相应的操作。 在使用datetimepicker时,可以使用设置picker-options属性来添加快捷方式。可以将快捷方式配置在pickerOptions对象的shortcuts属性中,每个快捷方式包含text和onClick属性,text用于显示快捷方式的文本,onClick用于定义点击快捷方式时的操作。 总之,Element-UI的datetimepicker提供了一个方便的界面来选择日期和时间,可以通过设置属性和配置来满足具体的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [element-ui 日期时间选择控件DateTimePicker快捷方式,配置默认时间](https://blog.csdn.net/YanzYan/article/details/129045904)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [element-ui之DateTimePicker 日期时间选择器](https://blog.csdn.net/demo_020/article/details/112724464)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值