html部分
<div class="block">
<el-date-picker v-model="date" type="daterange" unlink-panels range-separator="至"
start-placeholder="开始时间" end-placeholder="结束时间" :shortcuts="shortcuts" size="default" value-format="YYYY-MM-DD" format="YYYY-MM-DD" :disabled-date="disabledDate" @calendar-change="calendarChange" :default-value="[new Date(), new Date()]"/>
</div>
js部分
//限制时间选择只能选择最近3天
const firstChooseDate:any = ref("")
const disabledDate = (time: Date) => {
if (firstChooseDate.value) {
const timeRange = 1 * 24 * 60 * 60 * 1000 // 1天时间戳
const minTime = firstChooseDate.value - timeRange * 3 //修改这个乘就可以实现自己想要的天数
const maxTime = firstChooseDate.value + timeRange * 2 //修改这个乘就可以实现自己想要的天数
return time.getTime() <= minTime || time.getTime() > maxTime
} else {
return false
}
}
const calendarChange = (val: any) => {
firstChooseDate.value = val[0].getTime() //点击第一次选中日期
if (val[1]) firstChooseDate.value = "" // 选中后必须清空
}