vue2 antdv a-range-picker最大选择时间跨度30天(自定义时间范围)

       包解决的老铁 ~~~~

先看效果 选择一个日期以后 前后可选的数据范围控制在特定的范围内 此处以30天为例

<template>
    <div>
        <a-range-picker :disabled-date="disabledDate" v-model="priceRangeDate" @calendarChange="calendarPriceRangeChange" @change="changePriceRangeDate" />
    </div>
</template>
<script>
    import moment from 'moment';
    export default {
        data() {
            return {
                priceRangeDate: [],
                selectPriceDate: '',
                offsetDays: 86400000 * 30 //最多选择30天
            }
        },
        methods:{
            moment,
            //选择完时间 清空限制
            changePriceRangeDate() {
                this.selectPriceDate = ''
            },
            //选择开始时间/结束时间
            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
                }
            }
        }
    };
</script>

后续可以通过dayjs或moment.js拿到相应时间戳进行交互

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值