如何在 `el-date-picker` 中禁用未来日期的选择?
时间: 2024-09-19 09:06:31 浏览: 119
在 `element-plus` 的 `el-date-picker` 中,如果你想禁止用户选择未来的日期,你需要在 `picker-options` 对象中设置一个自定义的方法,这个方法会在用户尝试选择大于当前日期的日期时返回 `false`。通常,这通过 `onPick` 或 `beforePickerChange` 事件来实现。以下是示例代码:
```html
<template>
<el-date-picker
v-model="selectedDates"
type="daterange"
:picker-options="{
onPick: (val, instance) => {
if (!val || !Array.isArray(val)) return;
const [startDate, endDate] = val;
if (startDate && endDate && startDate > endDate) {
instance.clear();
return false; // 禁止选择未来日期
}
return true;
},
disabledDate: (date) => date > new Date()
}"
></el-date-picker>
</template>
<script setup>
import { ref } from 'vue';
const selectedDates = ref(null);
</script>
```
在这里,`disabledDate` 选项用于全局禁止单个日期的选取,而 `onPick` 方法则在用户交互触发时检查选中的日期范围,并阻止未来日期的选取。
阅读全文