element 日期时间组件,限制日期时间选择范围,不能选择早于当前的时间
·
使用picker-options属性,
直接上代码
<el-date-picker
v-model="form.date"
type="datetime"
placeholder="选择时间"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="{
disabledDate: (time) => {
return time.getTime() < Date.now() - 3600 * 1000 * 24;
},
selectableRange: selectTimeRange,
}"
>
data(){
from:{
date:''
}
}
wath:{
"form.publishTime": {
handler(newValue) {
if (newValue && dateFormat(new Date())) {
if (dateFormat(new Date()).split(" ")[0] == newValue.split(" ")[0]) {
this.selectTimeRange =
dateFormat(new Date()).split(" ")[1] + " - 23:59:59";
} else {
this.selectTimeRange = "00:00:00 - 23:59:59";
}
}
},
},
}
说明
:picker-options="{
disabledDate: (time) => {
return time.getTime() < Date.now() - 3600 * 1000 * 24; // 限制今天以后
},
selectableRange: selectTimeRange, // 限制到秒
}"
dateFormat方法
/**
* 日期格式化
*/
export function dateFormat(date) {
let format = 'yyyy-MM-dd hh:mm:ss'
if (date !== 'Invalid Date') {
var o = {
'M+': date.getMonth() + 1, // month
'd+': date.getDate(), // day
'h+': date.getHours(), // hour
'm+': date.getMinutes(), // minute
's+': date.getSeconds(), // second
'q+': Math.floor((date.getMonth() + 3) / 3), // quarter
'S': date.getMilliseconds() // millisecond
}
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1,
(date.getFullYear() + '').substr(4 - RegExp.$1.length))
}
for (var k in o) {
if (new RegExp('(' + k + ')').test(format)) {
format = format.replace(RegExp.$1,
RegExp.$1.length === 1 ? o[k]
: ('00' + o[k]).substr(('' + o[k]).length))
}
}
return format
}
return ''
}
更多推荐
已为社区贡献1条内容
所有评论(0)