时间选择器跟随前一个选择器的下拉框内容来界定范围时,写在计算属性里面去控制可选不可选内容
然后写在计算属性里面的时候会找不到this.searchForm.timeYear
解决办法有如下两种
<el-date-picker
v-model="searchForm.checkTime"
class="custom-inputs"
type="datetimerange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['12:00:00']"
:picker-options="pickerOption"
/>
computed: {
// pickerOption() {
// const startYear = `${this.searchForm.checkYear}-12-30 23:59:59`
// const endYear = `${this.searchForm.checkYear}-01-01 00:00:01`
// return {
// disabledDate(time) {
// const date1 = new Date(startYear)
// const time1 = date1.getTime()
// const date2 = new Date(endYear)
// const time2 = date2.getTime()
// // 得到时间戳
// return time.getTime() > time1 || time.getTime() < time2
// }
// }
// }
pickerOption: vm => {
return {
disabledDate: time => {
const startYear = `${vm.newPlanDept.checkYear}-12`
const endYear = `${vm.newPlanDept.checkYear}-01`
return vm.$moment(time).format('YYYY-MM') > startYear || vm.$moment(time).format('YYYY-MM') < endYear
}
}
}
},
一种是把获取写在return外面,一种是用箭头函数来解决效果如图所示