日期时间需要设置部分禁选时,
借助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定义的内容都删掉,然后自己手动格式化时间。
所以有了上面一长串的代码。
感谢观看,欢迎指正,鞠躬。