给el-date-picker添加picker-options属性
<el-date-picker v-model="openForm.startRealTime" placeholder="请选择" :picker-options="startDatePicker" clearable
:style='{ "width": "100%" }' type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
</el-date-picker>
<el-date-picker v-model="openForm.endRealTime" :picker-options="endDatePicker" placeholder="请选择" clearable
:style='{ "width": "100%" }' type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
</el-date-picker>
data() {
return {
startDatePicker: this.beginDate(),
endDatePicker: this.processDate(),
}
}
methods: {
beginDate() {
const self = this;
return {
disabledDate(time) {
if (self.openForm.endPlanTime) {
//如果结束时间不为空,则小于结束时间
return (
new Date(self.openForm.endPlanTime).getTime() < time.getTime()
);
} else {
// return time.getTime() > Date.now()//开始时间不选时,结束时间最大值小于等于当天
}
}
};
},
processDate() {
const self = this;
return {
disabledDate(time) {
if (self.openForm.startRealTime) {
//如果开始时间不为空,则结束时间大于开始时间
return (
new Date(self.openForm.startRealTime).getTime() > time.getTime()
);
} else {
// return time.getTime() > Date.now()//开始时间不选时,结束时间最大值小于等于当天
}
}
};
}
}
如果结束时间可以等于开始时间的话 可以在processDate方法中添加
processDate() {
const self = this;
return {
disabledDate(time) {
if (self.dataForm.startPlanTime) {
//如果开始时间不为空,则结束时间大于开始时间
return (
new Date(self.dataForm.startPlanTime).getTime() - 86400000 >= time.getTime()
);
} else {
// return time.getTime() > Date.now()//开始时间不选时,结束时间最大值小于等于当天
}
}
};
},