一、场景:使用 date-picker 日期选择器,并禁用日期
二、报错:TypeError: Cannot read property 'getHours' of undefined
三、原因和解决方法:绑定数据的格式需要是字符串类型
四、详情:由于粗心,误了方向,以为是控件的属性写的不对,百度了一下,才知道是绑定的数据格式写错了
date: []
修改回来,写成字符串就好了
date: ''
五、完整代码
<template>
<el-date-picker v-model="addForm.selectDates" :picker-options="pickerOptions" type="date" placeholder="选择日期"></el-date-picker>
</template>
<script>
data() {
return{
pickerOptions: {
// 禁用时间(返回值为boolean)
disabledDate(time) {
// return time.getTime() < Date.now();// 禁用当前时间之前的时间
return time.getTime() > Date.now();// 禁用当前时间之后的时间
}
},
addForm: {
selectDates: ''
}
}
}
</script>
六、效果
左图:禁用当前日期之后的日期;右图:禁用当前日期之前的日期(包括当前日期)
![](https://i-blog.csdnimg.cn/blog_migrate/117cfd9434e2b334c661ed8ef57013f2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/21d27f44d10f0b013cc8aad1e6f87f14.png)