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,},},