vue element-ui el-date-picker 时间拦截之傻瓜式教学,开始时间不能大于结束时间,结束时间不能大于开始时间
template部分
<el-date-picker disabled popper-class="planTime" style="display: inline-block" type="date" value-format="yyyy-MM-dd" placeholder="选择计划开始时间" :picker-options="planStartPickerOptions" > </el-date-picker> 至 <el-date-picker disabled popper-class="planTime" style="display: inline-block" type="date" value-format="yyyy-MM-dd" placeholder="选择计划结束时间" :picker-options="planEndPickerOptions" > </el-date-picker>
data 部分 // 这里是绑定了 上面 v-model 的字段,需要自行修改
planStartPickerOptions: this.beginDate(),
planEndPickerOptions: this.processDate(),
methods 方法部分
beginDate() { const self = this; return { disabledDate(time) { if (self.form.planEnd) { //如果结束时间不为空,则小于结束时间 return new Date(self.form.planEnd).getTime() < time.getTime(); } else { return time.getTime() < Date.now() - 8.64e7; //如果没有后面的-8.64e7就是不可以选择今天的 } }, }; }, processDate() { const self = this; return { disabledDate(time) { if (self.form.planStart) { //如果开始时间不为空,则结束时间大于开始时间 return new Date(self.form.planStart).getTime() > time.getTime(); } else { return time.getTime() < Date.now(); //如果没有后面的-8.64e7就是不可以选择今天的 } }, }; },