前言:
最近在处理反馈的bug,就是在新建项目时,选择结束日期后,发现项目结束时间可以小于开始时间显示,这个问题很常见,所以今天我来解决一下这个问题。
代码:
div.
<el-form-item label="开始时间">
<el-date-picker
v-model="item.startYear"
placeholder="请选择项目开始时间"
:picker-options="startDatePicker">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间">
<el-date-picker
v-model="item.endYear"
placeholder="请选择项目结束时间"
:picker-options="endDatePicker">
</el-date-picker>
</el-form-item>
date.
data() {
return {
startDatePicker: '',
endDatePicker: this.processDate(),
}
}
methods.
processDate () {
const self = this;
return {
disabledDate (time) {
// 如果开始时间不为空,则结束时间大于开始时间
if (self.item.startYear) {
return new Date(self.item.startYear).getTime() > time.getTime();
} else {
// 开始时间不选时,结束时间最大值小于等于当天日期
return time.getTime() > Date.now();
}
}
};
},