1,当开始日期和结束日期都没有设置值时,开始日期和结束日期都不大于当前日期。
2,开始日期设置值,结束日期范围在开始日期和当前日期之间。
3,结束日期设置值,开始日期范围在结束日期之前。
<el-form-item label="开始日期:" prop="createTime"> <el-date-picker type="date" placeholder="选择日期" :picker-options="pickerOptionsStart" v-model="form.createTime" class="box-date-picker"></el-date-picker> </el-form-item> <el-form-item label="结束日期:" prop="completionDate"> <el-date-picker type="date" placeholder="选择日期" :picker-options="pickerOptionsEnd" v-model="form.completionDate" class="box-date-picker"></el-date-picker> </el-form-item>
let that = this; this.pickerOptionsStart = { disabledDate(time) { let endDateVal = that.form.completionDate; if (endDateVal) { return time.getTime() > new Date(endDateVal).getTime(); } return time.getTime() > Date.now() - 8.64e6;// 如果没有后面的-8.64e6就是不可以选择今天的 }, }; this.pickerOptionsEnd = { disabledDate(time) { let beginDateVal = that.form.createTime; if (beginDateVal) { return (time.getTime() < new Date(beginDateVal).getTime() || time.getTime() > Date.now() - 8.64e6); } return time.getTime() > Date.now() - 8.64e6; }, };