日期选择器选择限制 选择范围

html部分

<el-date-picker
 v-model="dateList" 
 @blur="resetMinDate"
 :picker-options="pickerOptions"
 size="small"
 type="monthrange"
 style="width:350px"
 @change="onChangeDate"
 value-format="yyyy-MM"
 range-separator="至"
 start-placeholder="开始月份"
 end-placeholder="结束月份">
</el-date-picker>

script部分
我这里限制了日期选择器 不能选择当前日期之后的日期(禁止选中未来)并且 在可选择的日期里选择的范围不能大于12个月

<script> 
export default {    
    data() {
        return {
            //默认 当前日期三月前nowDate.threeDatess() 当前日期nowDate.nowDatesss() 自己获取
            dateList: [nowDate.threeDatess(),nowDate.nowDatesss()],
            minDate: null,
            maxDate: null,
        	pickerOptions: {
                disabledDate: (time) => {
                    if (this.minDate !== null && this.maxDate === null) {
                        let minMonth = this.minDate.getMonth(),
                            lastYear = new Date(this.minDate).setMonth(minMonth - 11),
                            nextYear = new Date(this.minDate).setMonth(minMonth + 11);
                        // 只能选 minDate 前后一年的范围
                        //禁止选择未来 time.getTime() > Date.now()控制
                        return time.getTime() > Date.now() || time.valueOf() < lastYear.valueOf() || time.valueOf() > nextYear.valueOf();
                    }
                    return time.getTime() > Date.now();
                },
                onPick: ({minDate, maxDate}) => {
                    this.minDate = minDate;
                    this.maxDate = maxDate;
                }
            },
        }
    },
    methods: {
        resetMinDate() {
            if (this.dateList && this.dateList.length && this.minDate && !this.maxDate) {
                //默认时间
		        this.minDate = new Date(this.dateList[0]);
		    } else {
		        this.minDate = null;
		    }
    },
    onChangeDate(val){
            console.log(val);
        },
}
</script> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值