vue中代码如下
<el-form-item label="举报日期">
<template>
<div flex>
<el-date-picker
v-model="searchItem.startTime"
placeholder="开始日期"
:picker-options="pickerOptionsStart"
>
</el-date-picker>
<div style="flex: none;margin:0 5px"> - </div>
<el-date-picker
v-model="searchItem.endTime"
placeholder="结束日期"
:picker-options="pickerOptionsEnd"
>
</el-date-picker>
</div>
</template>
</el-form-item>
结合element中picker-options使用
pickerOptionsStart: {
disabledDate: time => {
let endDateVal = this.searchItem.endTime;
if (endDateVal) {
return time.getTime() > new Date(endDateVal).getTime();
}
}
},
pickerOptionsEnd:{
disabledDate: time => {
let beginDateVal = this.searchItem.startTime;
if (beginDateVal) {
return (
time.getTime() < new Date(beginDateVal).getTime()
);
}
}
}
}
在只有一个日期选择器的时候,判断在今日之前还是今日之后
<el-form-item label="举报日期" required prop="reportCreate" class="max-500">
<el-date-picker
v-model="reportInfo.reportCreate"
:picker-options="pickerOptions"
type="date"
:disabled="changeTime"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now(); //如果没有后面的-8.64e7就是不可以选择今天的
}
},
new Date() // 获取当前日期,
new Date(date) // 可接受参数 将其转化为“毫秒”值
//如果没有后面的-8.64e6就是不可以选择今天的
return time.getTime() > Date.now() - 8.64e6;
//如果没有后面的-8.64e7就是不可以选择今天的
return time.getTime() < Date.now() - 8.64e7;