element的时间日期组件, type="datetime" ,当你设置了:picker-options="pickerOptions"之后
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now();
},
},
会发现,他只会限制日期,但不会限制时分秒;
解决办法:
给pickerOptions添加selectableRange字段,类型str或者array
但是你不能直接添加在 pickerOptions,因为他会把当前日期之前的日期的时间都会限制【也就是一限制时分秒,整个下拉框的时分秒都会被限制】
最终方案:
监听一下当前时间字段,如果选择的时间>当前时间,就限制一下,否则放开
watch: {
'form.start': {
handler(val) {
console.log(val);
if (+new Date(val) > Date.now()) {
this.$set(
this.pickerOptions,
'selectableRange',
`00:00:00 - ${moment().hours()}:${moment().minutes()}:${moment().seconds()}`
);
} else {
this.$set(this.pickerOptions, 'selectableRange', `00:00:00 - 23:59:59`);
}
},
deep: true,
},
},