elementui的DateTimePicker 日期时间选择器踩坑

日期时间需要设置部分禁选时,

借助picker-options。

:picker-options="{

disabledDate: time => {

return time.getTime() < Date.now() - 8.64e7

},

selectableRange: startTimeRange

}"

当前项目需要的条件是:已过去的时间不可选。

借鉴别人的方法并考虑需求最后的代码:

selectDate : {

handler(newVal, oldVal) {

if (newVal) {

let now = new Date(newVal)

let selectedDate = {

year: now.getFullYear(),

month: now.getMonth() + 1 > 9 ? now.getMonth() + 1 : "0" + (now.getMonth() + 1),

date: now.getDate() > 9 ? now.getDate() : "0" + now.getDate(),

hour: now.getHours(),

minute: now.getMinutes() > 9 ? now.getMinutes() : 0 + now.getMinutes(),

}

let selectTime = selectedDate.year + - + selectedDate.month + - + selectedDate.date + + selectedDate.hour + : + selectedDate.minute

let st =

let newDate = new Date()

let date = {

year: newDate.getFullYear(),

month: newDate.getMonth() + 1 > 9 ? newDate.getMonth() + 1 : "0" + (newDate.getMonth() + 1),

date: newDate.getDate() > 9 ? newDate.getDate() : "0" + newDate.getDate(),

hour: newDate.getHours(),

minute: newDate.getMinutes() > 9 ? newDate.getMinutes() : 0 + newDate.getMinutes(),

}

let today = date.year + - + date.month + - + date.date

if (today === selectTime.split( )[0]) {

// 今天

st = date.hour + : + date.minute + :00

} else {

// 非今天

st = 00:00:00

}

this.startTimeRange = st + - 23:59:00

this.selectDate = selectTime

}

}

}

别问 为什么这么长 菜鸡只能写出这样的代码

坑是什么呢?

1.本来直接用了value-format和format定了数据的格式----时分不要秒,

这个秒一定要加上,不然控制台就会报错。

2.一开始同样因为value-format和format 定义了时间格式,但是!!!

只要绑定了格式,这个“此刻”点击了会没有任何反应,点击事件失效。

同样是面向百度,哈哈哈哈哈哈~~~~感谢网络上的大佬

需要将value-format和format定义的内容都删掉,然后自己手动格式化时间。

所以有了上面一长串的代码。

感谢观看,欢迎指正,鞠躬。

经验分享 程序员 微信小程序 职场和发展