antd-vue中a-range-picker限制日期最大选择区间

业务场景: 当选择完一个开始日期,截止结束日期不得大于x天
在这里插入图片描述
下图示例为限制范围为60天内
在这里插入图片描述

代码贴在这里 所用事件官方文档都有
在这里插入图片描述

<template>
   <a-range-picker style="width:100%;" :disabled-date="disabledDate" :placeholder="['开始时间', '结束时间']" :value="createValue" format="YYYY-MM-DD" @change="onChange" @calendarChange="calendarPriceRangeChange" />
</template>
<script>
    import moment from 'moment';
    export default {
        data() {
            return {
                createValue: [],
                selectPriceDate: '',
                offsetDays: 86400000 * 60 //最多选择60
            }
        },
        methods:{
            moment,
		    //选择开始时间/结束时间
		    calendarPriceRangeChange(date) {
		      this.selectPriceDate = date[0]
		    },
		    //根据选择的开始时间/结束时间,动态渲染要禁用的日期
		    disabledDate(current) {
		      if (this.selectPriceDate) {
		        let selectV = moment(this.selectPriceDate, 'YYYY-MM-DD').valueOf()
		        return current > moment(new Date(selectV + this.offsetDays), 'YYYY-MM-DD') ||
		          current < moment(new Date(selectV - this.offsetDays), 'YYYY-MM-DD')
		      } else {
		        return false
		      }
		    },
		    onChange(dates, dateStrings) {
		      //选择完时间 清空限制
		      this.selectPriceDate = ''
		      this.createValue = dates;
		      this.queryParam.opSTime = dateStrings[0];
		      this.queryParam.opETime = dateStrings[1];
		      console.log("From: ", dates[0], ", to: ", dates[1]);
		      console.log("From: ", dateStrings[0], ", to: ", dateStrings[1]);
		    },
        }
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值