vue2 Element 日期选择时间限制为选择日期的前后30天,开始日期可任意选择

1.限制条件用到pickerOptions

代码如下

<template>

  <div>

    <el-date-picker

      v-model="dateRange"

      type="daterange"

      range-separator="至"

      start-placeholder="开始日期"

      end-placeholder="结束日期"

      :picker-options="pickerOptions"

    />

  </div>

</template>

<script>

export default {

  data() {

    const that = this

    return {

      dateRange: [],

      curDate: '',

      pickerOptions: {

        onPick: ({ maxDate, minDate }) => {

          that.curDate = minDate.getTime()

          if (maxDate) {

            that.curDate = ''

          }

        },

        disabledDate(time) {

          if (that.curDate) {

            // 限制前后三十天

            const one = 30 * 24 * 3600 * 1000

            const minTime = that.curDate - one

            const maxTime = that.curDate + one

            return time.getTime() < minTime || time.getTime() > maxTime

          }

        }

      }

    }

  }

}

</script>

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值