element-plus <el-date-picker禁用上上个月之前
时间: 2024-08-15 14:04:15 浏览: 117
Element Plus 的 `<el-date-picker>` 组件是一个日期选择器,提供了丰富的配置选项。如果你想禁用上上个月之前的日期,可以利用 `disabled-day` 或 `picker-options` 属性来实现这个功能。
使用 `disabled-day` 可以针对每一天手动控制是否可选,例如:
```html
<template>
<el-date-picker
v-model="value"
type="daterange"
:disabled-day="disabledDay"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</template>
<script>
export default {
data() {
return {
value: '',
disabledDay(date) {
// 如果当前日期早于上上个月的第一天,则设为不可选
const currentMonth = date.month;
const lastLastMonthFirstDay = new Date();
lastLastMonthFirstDay.setMonth(currentMonth - 2);
lastLastMonthFirstDay.setDate(1);
if (date.date < lastLastMonthFirstDay.getDate()) {
return true; // 禁止选择
}
return false; // 允许选择
},
};
},
};
</script>
```
这里通过计算当前月份减去两个月得到上上个月的第一天,然后判断输入日期是否在这之前,如果是就返回 `true` 来禁用该日期。
如果你想要基于固定的日期范围禁用,可以在 `picker-options` 中设置:
```html
<template>
<el-date-picker
v-model="value"
type="daterange"
:picker-options="pickerOptions"
...
></el-date-picker>
</template>
<script>
export default {
data() {
return {
value: '',
pickerOptions: {
disabledDate: (currentDate) => {
// 类似上面计算上上个月第一天的方式
const lastLastMonthFirstDay = new Date();
lastLastMonthFirstDay.setMonth(currentDate.month - 2);
lastLastMonthFirstDay.setDate(1);
return currentDate.getTime() < lastLastMonthFirstDay.getTime(); // 禁止选择
},
},
};
},
};
</script>
```
阅读全文