1.设置el-date-picker的属性:picker-options
<el-date-picker :picker-options="startDatePicker"></el-date-picker>
<el-date-picker :picker-options="endDatePicker"></el-date-picker>
2.data里设置方法:
data() {
return {
startDatePicker: this.beginDate(),
endDatePicker: this.processDate(),
}
}
3.书写方法:methods:
// 日期选择约束
beginDate() {
const self = this;
return {
disabledDate(time) {
if (self.form.projectEndDate) {
//如果结束时间不为空,则小于结束时间
return (
new Date(self.form.projectEndDate).getTime() < time.getTime()
);
} else {
// return time.getTime() > Date.now()//开始时间不选时,结束时间最大值小于等于当天
}
}
};
},
processDate() {
const self = this;
return {
disabledDate(time) {
if (self.form.projectStartDate) {
//如果开始时间不为空,则结束时间大于开始时间
return (
new Date(self.form.projectStartDate).getTime() > time.getTime()
);
} else {
// return time.getTime() > Date.now()//开始时间不选时,结束时间最大值小于等于当天
}
}
};
},
补充代码:
<el-col :span="8">
<el-form-item label="项目开始日期">
<el-date-picker
:disabled="edit"
class="int"
v-model="form.projectStartDate"
:picker-options="startDatePicker"
type="date"
placeholder="项目开始日期"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目结束日期">
<el-date-picker
:disabled="edit"
class="int"
v-model="form.projectEndDate"
:picker-options="endDatePicker"
type="date"
placeholder="项目结束日期"
></el-date-picker>
</el-form-item>
</el-col>