【Element-UI-日期选择,开始时间不晚于结束时间,结束时间不早于开始时间,选择其中一个,另一个限制可选中范围】

场景:form表单包含开始时间与结束时间,为防止开始日期晚于结束日期;或者是结束日期早于开始日期;必须控制日期的可选区域;

 

效果:

关键代码:

第一步:在日期组件上添加  :picker-options=" "

<el-form-item size="small" label="开始日期:" prop="start_time">
	<el-date-picker clearable size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="from.start_time"
	 type="date" placeholder="请选择开始日期" :picker-options="pickerStartOptions">
	</el-date-picker>
</el-form-item>
<el-form-item size="small" label="结束日期:" prop="end_time">
	<el-date-picker clearable size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="from.end_time"
	 type="date" placeholder="请选择结束日期" :picker-options="pickerEndOptions">
	</el-date-picker>
</el-form-item>

 第二步:在data里绑定相应的数据  pickerStartOptions pickerEndOptions

data(){
    return {
        // 表单绑定数据
        form:{
            start_time:'',// 开始日期
            end_time:'',// 结束日期
        },
        // 关联两个日期选择器,按日期先后顺序的设置规则
        // 选择的开始日期
        pickerStartOptions: {
            disabledDate: (time) => {
                if (this.form.end_time) {
                    return time.getTime() > new Date(this.form.end_time + ' 23:59:59').getTime()
                }
            }
        },
        // 选择的结束日期
        pickerEndOptions: {
            disabledDate: (time) => {
                if (this.form.start_time) {
                    return time.getTime() < new Date(this.form.start_time + ' 00:00:00').getTime()
                }
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值