最开始需求是只可选择今天以前的日期,还是很好做的
后来要求 ,用户选择一天后前后一个月都可选择,其余部分要求禁用掉,并且最大结束日期为今天。
<el-date-picker type="daterange" align="left" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
:picker-options="pickerOptions" :size="size" @change="changTime" />
在data中定义pickerOptions即可
pickerOptions: {
onPick: ({ maxDate, minDate }) => {
console.log(maxDate, minDate);
this.choiceDate = minDate.getTime();
if (maxDate && maxDate.getTime() > new Date().getTime()) {
this.choiceDate = "";
}
},
disabledDate: (time) => {
const today = new Date();
today.setHours(0, 0, 0, 0);
const maxTime = today.getTime();
if (this.choiceDate) {
const one = 30 * 24 * 3600 * 1000; // 30天
const minTime = this.choiceDate - one;
return time.getTime() < minTime || time.getTime() > maxTime;
}
return time.getTime() > maxTime;
},
}