el-date-picker组件自定义可选择的时间范围

在使用el-date-picker组件时,如果您想要限制用户只能选择今天和前72小时作为时间范围,可以通过设置disabledDate属性来实现。这个属性接受一个函数,该函数接收一个日期对象,并返回一个布尔值,指示该日期是否应该被禁用。

下面是一个示例代码,展示了如何使用el-date-picker组件来选择只能是今天和前72小时的日期范围:

<template>
  <div>
    <el-date-picker
      v-model="value"
      type="daterange"
      start-placeholder="开始日期"
      end-placeholder="结束日期"
      :range-separator="'至'"
      :default-value="defaultValue"
      :disabled-date="disabledDate"
      @change="handleChange"
    ></el-date-picker>
  </div>
</template>

<script>
export default {
  data() {
    return {
      value: [], // 初始值为空数组
      defaultValue: [new Date(), new Date(Date.now() - 72 * 60 * 60 * 1000)], // 默认值为当前日期和72小时前的日期
    };
  },
  methods: {
    disabledDate(time) {
      const today = new Date();
      const threeDaysAgo = new Date(today.getTime() - 72 * 60 * 60 * 1000);
      return time.getTime() < threeDaysAgo.getTime() || time.getTime() > today.getTime();
    },
    handleChange(value) {
      console.log('选择的日期范围:', value);
      // 在这里处理选择的日期范围
    },
  },
};
</script>

在这个示例中,我们将type属性设置为daterange,以便选择一个日期范围。我们还定义了start-placeholder和end-placeholder属性来指定开始和结束日期的占位符文本。range-separator属性用于定义日期范围之间的分隔符。

defaultValue数据属性被设置为一个包含当前日期和72小时前的日期的数组。这确保了el-date-picker组件在初始渲染时默认显示一个72小时的日期范围。

disabledDate方法是一个自定义函数,它接收一个日期对象,并返回一个布尔值。这个函数检查传入的日期是否早于3天前或晚于今天,如果是,则返回true,表示该日期应该被禁用。
效果图如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值