1.html
<template>
<el-form :model="state.newFormData" :inline="true" label-width="80" class="demo-form-inline">
<el-form-item label="start Time">
<el-date-picker v-model="state.newFormData.startTime" :disabled-date="disabledDateStart" type="date"
placeholder="Pick a day" />
</el-form-item>
<el-form-item label="end Time">
<el-date-picker v-model="state.newFormData.endTime" :disabled-date="disabledDate" type="date"
placeholder="Pick a day" />
</el-form-item>
</el-form>
</template>
2.js
const initNewFormData = () => {
return {
startTime:"",
endTime: "",
};
};
const state = reactive({
newFormData: initNewFormData(),
});
const { newFormData} = toRefs(state);
const disabledDate = (time:any) => {
if (state.newFormData?.startTime) {
return new Date(state.newFormData?.startTime).getTime() > time.getTime() || new Date(state.newFormData?.startTime).getTime() < time.getTime() - 1000 * 3600 * 24 * 7;
}
return time.getTime() >= Date.now();
}
const disabledDateStart = (time:any) => {
if (state.newFormData?.endTime) {
return new Date(state.newFormData?.endTime).getTime() < time.getTime() || new Date(state.newFormData?.endTime).getTime() > time.getTime() + 1000 * 3600 * 24 * 7;
}
return "";
}