dom
<el-date-picker
v-model="time"
type="monthrange"
value-format="yyyy-MM"
range-separator="至"
start-placeholder="开始月份"
end-placeholder="结束月份"
:picker-options="pickerOptions"
>
</el-date-picker>
data() {
let minTime = null;
let maxTime = null;
return {
pickerOptions: {
disabledDate(time) {
if (minTime) {
return time.getTime() < minTime || time.getTime() > maxTime;
}
},
onPick(time) {
// 选择了两个时间放开删除限制
if (time.maxDate && time.minDate) {
minTime = null;
maxTime = null;
// 如果选择了一个时间
} else if (!time.maxDate) {
// 31104000000是一年的时间戳 2592000000是一个月的时间戳
minTime = time.minDate.getTime() - 31104000000 + 2592000000;
maxTime = time.minDate.getTime() + 31104000000;
} else {
// 放开限制,方便再次选择
minTime = null;
maxTime = null;
}
}
}
};