選擇日期范圍,用兩個獨立的選擇器來控制,總覺得比較混亂。
<el-date-picker
ref="drawDate"
:picker-options="pickerOptions"
style="margin-left: 5px;"
v-model="drawDate"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="開始日期"
end-placeholder="結(jié)束日期"
@change="searchData"
></el-date-picker>
- 開始時間在當(dāng)前日期之后
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;
}
},
- 開始時間結(jié)束時間控制在一定范圍內(nèi),
一般是接口的返回數(shù)據(jù) ->this.data
this.pickerOptions = Object.assign(this.pickerOptions,{
disabledDate: (time) => {
return (time.getTime() < new Date(this.data.startTime) - 8.64e7) || time.getTime() > new Date(this.data.endTime)
},
})
中間的連接符一定要是||,return 有個布爾型默認(rèn)值
- 時間范圍控制在一周之內(nèi)
`在data定義pickerMinDate變量 `
let that = this;
this.pickerOptions = Object.assign(this.pickerOptions,{
onPick: ({ maxDate, minDate }) => {
that.pickerMinDate = minDate.getTime();
if (maxDate) {
that.pickerMinDate = '';
}
},
disabledDate(time) {
// onPick后觸發(fā)
if (that.pickerMinDate !== '') {
//結(jié)束時間在開始時間7天內(nèi)
let one = 6 * 24 * 3600 * 1000,
minTime = that.pickerMinDate - one,
maxTime = that.pickerMinDate + one;
if(minTime && maxTime ){
return time.getTime() < minTime || time.getTime() > maxTime
}
}
// return time.getTime() > Date.now();
}
})