1. 获取当前选中的第一个时间的值, 可以根据calendar-change事件获取, 如下
const selectData = ref();
const calendarChange = (dates: any) => {
const hasSelectDate = dates !== null && dates.length > 0;
selectData.value = hasSelectDate ? dates[0] : null;
console.log(dates);
};
2.获取到了选择的第一个时间值,那么禁用的时间就是(当前时间-2年)到(选择的时间+2年),这样就可以保证选出来的时间跨度为2年内了
3. 通过设置disable-date属性, 控制禁止选择的时间就行了, 如下
function disableDate(time: any) {
const timeRange = 2 * 24 * 60 * 60 * 1000;
if (selectData.value) {
const minTime = new Date(selectData.value).getTime() - timeRange * 365;
const maxTime = new Date(selectData.value).getTime() + timeRange * 365;
return time.getTime() < minTime || time.getTime() > maxTime;
} else {
return false;
}
}