el-date-picker限制最大选择范围

文章介绍了如何使用Vue.js的自定义组件h-date-picker设置日期范围选择器,确保用户选择的日期区间不超过180天。通过绑定picker-options和disabledDate属性,动态计算并限制最大日期范围,同时在onPick事件中更新最小日期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从起始日期开始算,前后不超过 180 天

<h-date-picker class="com-input-wrap" popper-class="popperCls" v-model="formData.timeRange"
                    type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
                    value-format="yyyy-MM-dd" :clearable="false" :picker-options="pickeroptions" @blur="setpickerMinDate">
                  </h-date-picker>
data(){
	return {
		pickerMinDate: null,
      pickeroptions: { 
        onPick: (time) => {
          this.pickerMinDate = time.minDate;
          if (time.maxDate) {
            this.pickerMinDate = null;
          }
        },
        disabledDate: (time) => { // 限制最大范围为180天
          // console.log(time); // 这里的参数和函数一样可以被打印出来
          // console.log(time.getTime());
          const month = 180 * 24 * 60 * 60 * 1000  // 限定一个日期范围,这里是180天
          let preSevenday = this.pickerMinDate?.getTime() - month;
          let nextSevenday = this.pickerMinDate?.getTime() + month;
          return time.getTime() < preSevenday || time.getTime() > nextSevenday;// 直接return需要禁止的选择的日期
        }
      },
	}
},
methods: {
//配合 限制最大日期选择范围180天
    setpickerMinDate(picker) {
      
      console.log('111111111', picker.parsedValue)
      this.pickerMinDate = null;
    },
}
···

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值