一般都是禁止选今天之前的日期,或者禁止选今天之后的日期,这又来了 这小问题卡了我一小时
虽然找大哥帮忙解决了 ,但是我觉得大哥写的代码有点多,而且我并不能很好的理解,所以我就琢磨出来了。
来个图:
1、element-ui el-date-picker日期禁止选择日期
主要:picker-options=“pickerOptions”
<el-date-picker
v-model="queryInfo.time" value-format="yyyy-MM-dd"
type="daterange" range-separator="至" start-placeholder="开始日期"
@change="getData(1, 10)" end-placeholder="结束日期" :picker-options="pickerOptions">
</el-date-picker>
有三种情况:
第一种:日期禁止选择今天以前的日期
第二种:日期禁止选择今天之后的日期
第三种:日期限制只能选当天和昨天
这三种的js都写下面了pickerOptions中了,要第一种的话就把第二第三中注释就可以了,我这里不注释怕你们看得不清楚。懒得分开写了。
data() {
return {
pickerOptions: {
disabledDate(v) {
// 1、日期禁止选择今天以前的日期
return v.getTime() < new Date().getTime() - 86400000;
//return time.getTime() < Date.now()-1 * 24 * 60 * 60 * 1000
// 2、日期禁止选择今天之后的日期
return v.getTime() > Date.now();
//3、限制只能选当天00:00:00点-12:59:59点其他时间不可选:
const start = new Date(new Date(new Date().toLocaleDateString()).getTime()+24*60*60*1000-1);
return time.getTime() < new Date().getTime() - 1 * 24 * 60 * 60 * 1000 || time.getTime() > new Date().getTime() + (start - new Date().getTime());
//new Date(new Date(new Date().toLocaleDateString()).getTime()+24*60*60*1000-1);
//获取当天23:59:59的时间戳
//new Date().getTime()
//获取当前时间的时间戳
// 4、日期限制只能选当天和昨天
let limitDate =
v.getTime() < new Date().getTime() - 2 * 86400000 ||
v.getTime() >= Date.now();
// 86400000:一天的毫秒
return limitDate;
}
},
}
}