elementUI,日期区间控件设置选了一个日期后,只能选择当前选中日期的前七天和后七天那一天日期,其他日期禁用
时间: 2023-10-01 20:06:37 浏览: 57
可以通过 `disabledDate` 属性来实现日期区间控件的禁用。具体实现方法如下:
1. 在 `el-date-picker` 中设置 `range-separator` 属性,表示该控件是日期区间选择器。
```html
<el-date-picker
v-model="dateRange"
type="daterange"
range-separator="至"
:disabled-date="disabledDate">
</el-date-picker>
```
2. 在 `data` 中定义 `dateRange` 变量,并在 `methods` 中定义 `disabledDate` 方法,该方法接收一个 `date` 参数,表示当前日期,返回一个 `Boolean` 类型的值,表示当前日期是否可选。
```js
data() {
return {
dateRange: null
}
},
methods: {
disabledDate(date) {
const current = new Date(this.dateRange[0]).getTime(); // 获取当前选中的日期
const sevenDays = 7 * 24 * 60 * 60 * 1000; // 一周的毫秒数
const start = current - sevenDays; // 当前选中日期前七天
const end = current + sevenDays; // 当前选中日期后七天
return date.getTime() < start || date.getTime() > end; // 返回当前日期是否在可选范围内
}
}
```
在 `disabledDate` 方法中,先获取当前选中日期的时间戳 `current`,然后计算出当前选中日期前七天和后七天对应的时间戳 `start` 和 `end`,最后判断当前日期是否在可选范围内,返回 `true` 表示禁用该日期,返回 `false` 表示可选该日期。