element 日期选择器 选择时间范围在一个月内

3 篇文章 0 订阅
<el-date-picker
   type="daterange"
   unlink-panels
   value-format="yyyy-MM-dd"
   range-separator="至"
   start-placeholder="开始日期"
   end-placeholder="结束日期"
   :picker-options="pickerOptions">
</el-date-picker>
data() {
  return {
    selectDate: '',
    //日期选择范围在一个月内
    pickerOptions: {
      onPick: ({maxDate, minDate}) => {
        this.selectDate= minDate.getTime();
        if (maxDate) {
          this.selectDate= ''
        }
      }, disabledDate: (time) => {
        if (this.selectDate!== '') {
          const one = 30 * 24 * 3600 * 1000;
          const minTime = this.selectDate- one;
          const maxTime = this.selectDate+ one;
          return time.getTime() < minTime || time.getTime() > maxTime
        }
      }
    }
  }
},
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Element日期选择器的可选日期范围限制为开始时间后一年内,可以使用`picker-options`属性并设置`disabledDate`选项来实现。以下是一个可以实现此功能的例子: ```vue <template> <div> <el-date-picker v-model="startDate" type="date" placeholder="选择开始日期" :picker-options="startPickerOptions"> </el-date-picker> <el-date-picker v-model="endDate" type="date" placeholder="选择结束日期" :picker-options="endPickerOptions"> </el-date-picker> </div> </template> <script> export default { data() { return { startDate: '', endDate: '', startPickerOptions: { disabledDate: (time) => { if (this.endDate) { // 如果结束日期存在,开始日期不能晚于结束日期 return time.getTime() > this.endDate.getTime() } else { // 开始日期不能晚于当前日期后一年 const maxDate = new Date() maxDate.setFullYear(maxDate.getFullYear() + 1) return time.getTime() > maxDate.getTime() } } }, endPickerOptions: { disabledDate: (time) => { if (this.startDate) { // 如果开始日期存在,结束日期不能早于开始日期 return time.getTime() < this.startDate.getTime() } else { // 结束日期不能早于当前日期 return time.getTime() < Date.now() } } } } } } </script> ``` 在上面的代码中,使用了两个日期选择器分别用于选择开始日期和结束日期。对于开始日期选择器,通过设置`disabledDate`选项来禁用晚于结束日期和超过一年后的日期。对于结束日期选择器,通过设置`disabledDate`选项来禁用早于开始日期和早于当前日期日期。 注意,在这个例子中,我们使用了`Date`对象的`getTime()`方法来比较日期。`getTime()`方法返回一个表示日期时间戳,可以用来比较两个日期的先后顺序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值