element-UI時間控件:日期時間的選擇范圍的控制方法


例:如一段已知的時間范圍,為2018-10-01 - 2019-01-01 ;
當前為2018-07-09日,則今天以前的時間不能選擇,以及2019-01-01以后的時間不能選;實現如下;

<el-form-item label="時間選擇" prop="addTime">
 <el-date-picker
    :editable="false"
      unlink-panels
    v-model="form.addTime"
  type="daterange"
  value-format="yyyy-MM-dd"
  start-placeholder="開始日期"
  end-placeholder="結束日期"
  :picker-options="pickerOptions"
  :default-value="defaultValue">
   </el-date-picker>
</el-form-item>

export default {
  data() {
  let tool = this.tool
  let _this = this
  return {
  form:{
    time:[], //為時間范圍段
    addTime:[], //為最終選擇的時間,組件綁定的時間
  },
  formRules:{
    addTime:[{ required: true,message: '時間不能為空!', trigger: 'blur' }],
  },
pickerOptions: {
  disabledDate (time) {
    let t = _this.tool.date.format(new Date(), "yyyy-MM-dd")
    t= t+' 00:00:00'
    let myDate = new Date(_this.form.time[0])
    let year = myDate.getFullYear()
    let month = myDate.getMonth()
    let date = myDate.getDate()
    if(_this.form.time[1]){
      if(new Date(year, month, date).getTime() < new Date(t).getTime()){
        return time.getTime() > new Date(_this.form.time[1]).getTime() || time.getTime() < new Date(t).getTime()
      }
      return time.getTime() > new Date(_this.form.time[1]).getTime() || time.getTime() < new Date(year, month, date).getTime()
    }else {
      if(new Date(year, month, date).getTime() < new Date(t).getTime()){
        return time.getTime() < new Date(t).getTime()
      }
      return time.getTime() < new Date(year, month, date).getTime()
    }
  }
},
  defaultValue:tool.date.format(new Date(),'yyyy-MM-dd'),
  }
 }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM