限制范围的日期选择器

简单记录

项目场景:

限制起始时间和结束时间的日期选择范围,即在选定起始时间,结束时间只能选择在起始时间之后;选定结束时间,起始时间只能选择在结束时间之前。

如图:
在这里插入图片描述
在这里插入图片描述

解决方案:

<template>
    <div class="m-window">
        <el-row :gutter="10">
            <el-form
                label-width="70px"
                :inline-message="true"
                label-position="left">
                <el-col :span="5">
                    <el-form-item label="起始时间" > 
                        <el-date-picker
                            v-model="startDate"
                            type="date"
                            placeholder="请选择起始时间"
                            value-format="yyyy-MM-dd"
                            :picker-options="stOptions"
                            :editable="false"
                            :clearable="false">
                        </el-date-picker>
                    </el-form-item>
                </el-col>
                <el-col :span="5">
                    <el-form-item label="结束时间" > 
                        <el-date-picker
                            v-model="endDate"
                            type="date"
                            placeholder="请选择结束时间"
                            value-format="yyyy-MM-dd"
                            :picker-options="etOptions"
                            :editable="false"
                            :clearable="false">
                        </el-date-picker>
                    </el-form-item>
                </el-col>
            </el-form>
        </el-row>
    </div>
</template>
<script>
export default {
    data(){
        return{
            startDate:'',   //起始时间
            endDate:'', //结束时间
            //开始日期范围限制   
			stOptions: {
				disabledDate: this.disabledStartDate
			},
			//结束日期范围限制  
			etOptions: {
				disabledDate: this.disabledEndDate
			},
        }
    },
    methods:{
        //限制开始日期选择范围
        disabledStartDate(time){
            if(this.endDate){
                return time.getTime() > new Date(this.endDate).getTime()
            }
        },
        //限制结束日期选择范围
        disabledEndDate(time){
            if(this.startDate){
                return time.getTime() < (new Date(this.startDate).getTime()- 3600 * 1000 * 24)
            }
        },
    }
}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值