iView 日期时间选择器设置开始时间至结束时间限制

2020-11-13 09:45发布

开始时间不能大于结束时间

结束时间不能小于开始时间


<DatePicker
  type="datetime"
  :options="startOption"
  v-model="startTime"
  placeholder="开始时间"
  format="yyyy-MM-dd HH:mm"></DatePicker><DatePicker
  type="datetime"
  :options="endOption"
  v-model="endTime"
  placeholder="结束时间"
  format="yyyy-MM-dd HH:mm"></DatePicker>
data(){
  return{
    startOption: {
      // 指定开始限制时间
      disabledDate: (date) => {
        let data = this.endTime == '' ? Date.now() : this.endTime        return date >= data      }
    },
    endOption: {
      // 指定终止日期
      disabledDate: (date) => {
        let data = this.startTime == '' ? '' : this.startTime        return date >= Date.now() || date < data      }
    }
  }}


上方代码,可以实现开始时间小于结束时间,结束时间大于开始时间,两个时间不能相等,如果想实现两个时间可以相等,只需把 >= 改为 > 即可,如下

data(){
  return{
    startOption: {
      // 指定开始限制时间
      disabledDate: (date) => {
        let data = this.endTime == '' ? Date.now() : this.endTime        return date > data      }
    },
    endOption: {
      // 指定终止日期
      disabledDate: (date) => {
        let data = this.startTime == '' ? '' : this.startTime        return date > Date.now() || date < data      }
    }
  }}


如果想实现不限制结束时间大于当前时间,只需大于开始时间即可,只需去除date > Date.now(),如下

data(){
  return{
    startOption: {
      // 指定开始限制时间
      disabledDate: (date) => {
        let data = this.endTime == '' ? Date.now() : this.endTime        return date > data      }
    },
    endOption: {
      // 指定终止日期
      disabledDate: (date) => {
        let data = this.startTime == '' ? '' : this.startTime        return date < data      }
    }
  }}



作者:鹏仔先生

链接:http://sharedblog.cn/post/204.html

来源:共享播客

著作权归作者所有,转载请联系作者获得授权,切勿私自转载。