ElementUI时间选择器限制选择范围disabledData的使用

关于结束时间不能大于开始时间的问题,在elementui里我们用官方提供的 disabledDate 选项来解决。
HTML:给选择器加上:picker-options属性

//开始时间
<el-date-picker v-model="startDate"></el-date-picker>
//截止时间
<el-date-picker v-model="endDate" :picker-options="endDateOpt"></el-date-picker>

DATA:

我这里就简略写下关键的。

data() {
    return {
        startDate: null,
        endDate: null,
        endDateOpt: {
            disabledData: (time) => {
                return time.getTime() < this.startDate;
            }
        }
    }
}

以上是单个选择框的,如果是daterange或datetimerange的话:

<el-date-picker v-model="value1" type="daterange" 
    :picker-options="pickerOptions">
</el-date-picker>
data() {
   return {
     value: '',
     pickerOptions2: {
         disabledDate: (time) => {
             return time.getTime() > new Date(2017, 11, 30) || time.getTime() < new Date(2017, 11, 11);//注意是||不是&&
         }
     }
   };
}

PS:element 时间选择器,disabledDate同时限制多个条件

<el-date-picker
        v-model="listQuery.allDate"
        type="daterange"
        range-separator="-"
        unlink-panels
        value-format="yyyy-MM-dd"
        start-placeholder="开始日期"
        end-placeholder="结束日期"
        class="data_piccker"
        style="width:240px"
        :picker-options="pickerOptions"
      ></el-date-picker>
pickerOptions: {
        onPick: ({ maxDate, minDate }) => {
          this.pickerMinDate = minDate.getTime()
          if (maxDate) {
            this.pickerMinDate = ''
          }
        },
        disabledDate: (time) => {
           const year = 365 * 24 * 3600 * 1000
           //一年前的时间戳
           let lastyear = this.pickerMinDate - year 
          //已经选择一个日期则……
          if (this.pickerMinDate !== '') {
            const day31 = 31 * 24 * 3600 * 1000
            //选中的日期前推31天,的时间戳
            let datarangeb = this.pickerMinDate - day31
            //选中的日期后推31天
            let datarangea = this.pickerMinDate + day31
            //如果后推的日期早于今天,则设置为今日
            if (datarangea > new Date()) {
              datarangea = new Date()
            }
            //使用或||可以同时限制多个条件
            return time.getTime() < datarangeb || time.getTime() > datarangea 
          }
          //未选择日期,默认状态当天之前不可选,一年之前不可取
          return time.getTime() > Date.now()  || time.getTime() < lastyear 
        },     
   },

到此这篇关于ElementUI时间选择器限制选择范围disabledData的使用的文章就介绍到这了,更多相关ElementU disabledData内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

  • Mybatis-Plus 通用CRUD的详细操作
  • mybatisplus 复合主键(多主键) CRUD示例详解
  • Mybatis-Plus实体类注解方法与mapper层和service层的CRUD方法
  • vue elementUI 处理文件批量上传方式
  • EF Core的CRUD(增删改查)基本操作
  • 解决elementui中NavMenu导航菜单高亮问题(解决多种情况)
  • VUE-ElementUI 时间区间选择器的使用
  • 前端elementUI select选择器实现远程搜索
  • vue.js基于ElementUI封装了CRUD的弹框组件
张贴在2