elementui el-date-picker禁止选择今年、今天、之前、时间范围限制18个月
在Element UI的el-date-picker
组件中,要实现禁止选择今年、今天以及设置时间范围为18个月,可以通过设置el-date-picker
的picker-options
属性来实现。以下是一个示例代码:
<template>
<el-date-picker
v-model="value"
type="date"
placeholder="选择日期"
:picker-options="pickerOptions">
</el-date-picker>
</template>
<script>
export default {
data() {
return {
value: '',
pickerOptions: {
disabledDate(time) {
// 禁止选择今年之后的日期
let now = new Date();
let yearEnd = new Date(now.getFullYear(), 11, 31); // 年底
let yearStart = new Date(now.getFullYear() - 1, 0, 1); // 年开始
return time.getTime() > yearEnd || time.getTime() < yearStart;
},
shortcuts: [{
text: '今天',
disabled: true // 禁用今天快捷选项
}, {
text: '昨天',
disabled: true // 禁用昨天快捷选项
}]
}
};
}
};
</script>
在这个示例中,disabledDate
函数用于定义可选日期的规则,禁止选择今年之后的日期,同时禁用了快捷选项“今天”和“昨天”。pickerOptions
中的shortcuts
数组可以自定义快捷选项,设置disabled
属性为true
即可禁用相应的快捷选项。
如果需要限制时间范围为18个月,可以修改disabledDate
函数,检查选中的日期是否超过18个月之前,如果是,则禁用这个日期:
disabledDate(time) {
let now = new Date();
let yearStart = new Date(now.getFullYear() - 1, now.getMonth() - 18, now.getDate());
return time.getTime() < yearStart;
}
这段代码会禁用18个月之前的所有日期。
评论已关闭