el-date-picker

選擇日期范圍,用兩個獨立的選擇器來控制,總覺得比較混亂。

<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();
  }
})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容