处理Element 日期选择器el-date-picker 限制时间跨度一年

处理Element 日期选择器el-date-picker 限制时间跨度一年 。

主要通过pickerOptions里的disabledDate来控制禁止选中的日期。实现思想就是,当选中第一个开始日期时,拿到该时间戳计算时间范围,然后控制接下来选中时间在一年以内,超过范围禁用掉。

在template中使用el-date-picker

<el-date-picker
      ref="picker"
      v-model="pickDataList"
      type="monthrange"
      :picker-options="pickerOptions"
      value-format="yyyy-MM"
      start-placeholder="开始日期"
      end-placeholder="结束日期"
      @change="getRoomCheckInRecordList"
  >
el-date-picker>

在data中定义:

data() {
    return {
      pickDataList:'',//el-date-picker v-model的值
      pickDate:'',// 存放getPickDate获取的数据
      pickerOptions: {
      onPick: this.getPickDate,
      disabledDate: this.disabledDate
     },
   }
}

methods中定义处理时间范围的的方法:

  methods: {
    getPickDate(pick) {
      this.pickDate = pick;
    },
    disabledDate(date) {
      const { minDate, maxDate } = this.pickDate;
      if (minDate && !maxDate) {
        const diff = Math.abs(minDate.valueOf() - date.valueOf());
        if (diff > 1000 * 3600 * 24 * 365) {
          return true;
        }
      }
    }
  }

实现效果图:选择其实时间后会自动计算可选的时间范围并禁用
处理Element 日期选择器el-date-picker 限制时间跨度一年_第1张图片

你可能感兴趣的:(知识点(小记),vue.js,javascript,前端)