選擇了開始時間,再選擇結束時間的時候就不能早於開始時間;
選擇了結束時間,再選擇開始時間的時候就不能晚於結束時間;
如果開始時間為空,選擇結束時間只能是今天之后的時間;
<el-date-picker v-model="ruleForm.startTime" type="date" placeholder="開始時間" :picker-options="pickerOptions0"></el-date-picker> <el-date-picker v-model="ruleForm.endTime" type="date" placeholder="截止時間" :picker-options="pickerOptions1"></el-date-picker>
data(){ return {
pickerOptions0: {
disabledDate: time => {
if (this.ruleForm.endTime != "" && this.ruleForm.endTime) {
let timeStr = new Date(this.ruleForm.endTime.replace(/-/g, "/"));
return time.getTime() > timeStr;
} else {
return "";
}
}
},
pickerOptions1: {
disabledDate: time => {
if (this.ruleForm.startTime != "" && this.ruleForm.startTime) {
let timeStr = new Date(this.ruleForm.startTime.replace(/-/g, "/"));
return time.getTime() < timeStr;
} else if (this.ruleForm.startTime == "") {
return time.getTime() < Date.now() - 8.64e7; //如果沒有后面的-8.64e7就是不可以選擇今天
} else {
return "";
}
}
}
} }
選擇今天以及今天之后的日期
<el-date-picker v-model="value1" type="date" placeholder="選擇日期" :picker-options="pickerOptions0"> </el-date-picker> data(){ return { pickerOptions0: { disabledDate(time) { return time.getTime() < Date.now() - 8.64e7;//如果沒有后面的-8.64e7就是不可以選擇今天 } } } }
選擇今天以及今天以前的日期
data (){ return { pickerOptions0: { disabledDate(time) { return time.getTime() > Date.now() - 8.64e6;//如果沒有后面的-8.64e6就是不可以選擇今天 } }, } }
限制結束日期不能大於開始日期
<el-date-picker v-model="value1" type="date" placeholder="開始日期" :picker-options="pickerOptions0"> </el-date-picker> <el-date-picker v-model="value2" type="date" placeholder="結束日期" :picker-options="pickerOptions1"> </el-date-picker> data(){ return { pickerOptions0: { disabledDate: (time) => { if (this.value2 != "") { return time.getTime() > new Date(this.value2).getTime(); } }, pickerOptions1: { disabledDate: (time) => { return time.getTime() < new Date(this.value1).getTime()- 1*24*60*60*1000;//減去一天的時間代表可以選擇同一天; } }, } }
限制選擇開始時間不能小於當前時間。並且結束時間不能大於開始時間(比上面多了層限時)
pickerOptions0: { //結束時間不能大於開始時間 disabledDate: time => { if (this.addForm.date_range_end) { return ( time.getTime() > new Date(this.addForm.date_range_end).getTime() ); } else { //還沒有選擇結束時間的時候,讓他只能選擇今天之后的時間包括今天 return time.getTime() < Date.now() - 8.64e7; } } }, pickerOptions1: { disabledDate: time => { if (this.addForm.date_range_start) { return ( time.getTime() < new Date(this.addForm.date_range_start).getTime() - 1 * 24 * 60 * 60 * 1000 ); //可以選擇同一天 } } },
限制不能選擇今年之后的年份
<el-date-picker v-model="year" type="year" placeholder="選擇年度" value-format="yyyy" :picker-options="pickerOptions0"></el-date-picker>
pickerOptions0: { disabledDate(time) { return time.getTime() > Date.now() - new Date().getFullYear(); } },