<el-date-picker
v-model="dateRange"
value-format="YYYY-MM-DD"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:disabled-date="disabledDate"
@calendar-change="dateCheange"
@clear="handleClear" >
</el-date-picker>
const dateRange = ref([]);
const selectData = ref(null);
function dateCheange(dates) {
let hasSelectDate = dates !== null && dates.length > 0;
selectData.value = hasSelectDate ? dates[0] : null;
}
const disabledDate = (time) => {
if (!selectData.value) {
return false; // 如果没有选择开始日期,则不禁用任何日期
}
const startDate = new Date(selectData.value).getTime();
const oneYearLater = startDate + 365 * 24 * 60 * 60 * 1000; // 一年后的时间戳
return time.getTime() < startDate || time.getTime() > oneYearLater;
}
function handleClear() {
selectData.value = null;
}