VUE+Eelementui 日期时间选择器禁用当前日期之前的日期时间
程序员文章站
2022-07-02 20:23:47
...
form表单内引用
picker-options | 当前时间日期选择器特有的选项参考下表 |
<el-form-item label="开播时间" prop="date">
<el-date-picker
type="datetime"
v-model="form.date"
placeholder="选择日期"
:picker-options="{
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;
},
selectableRange: startTimeRange
}"
value-format="yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
data 定义数据:
form: {
date:''
}
watch监听
watch: {
'form.date': {
handler(newValue, oldValue) {
if (newValue) {
let dateTime = ''
const yy = new Date().getFullYear()
const mm = new Date().getMonth() + 1
const dd = new Date().getDate()
const d=dd < 10 ? '0' + dd : dd
const hh = new Date().getHours()
const mz = mm < 10 ? '0' + mm : mm
const mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes()
: new Date().getMinutes()
const ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
: new Date().getSeconds()
dateTime = yy + '-' + mz + '-' + d + ' ' + hh + ':' + mf + ':' + ss
console.log(dateTime, 'dateTime')
console.log(newValue, 'newValue')
const dt = dateTime.split(' ')
let st = ''
if (newValue.split(' ')[0] === dt[0]) {
// 是今天,选择 的时间开始为此刻的时分秒
st = dt[1]
console.log( dt[1]);
} else {
// 明天及以后从0时开始
st = '00:00:00'
}
this.startTimeRange = st + ' - 23:59:59'
console.log(this.startTimeRange, 'startTimeRange')
// 例如:如果今天此刻时间为10:41:40 则选择时间范围为: 10:41:40 - 23:59:59
// 否则为:00:00:00- 23:59:59
}
}
}
},