两个el-date-picker组件表示时间范围的时候设置选择限制

当用两个<el-date-picker>来选择开始时间和结束时间的时候,我们需要前者时间不超过后者。

我们这里使用官网的picker-options方法。当选择前者时间的时候,后者的时间选择自动受到限制,先于前者的时间变为不可选状态,当选择后者时间的时候,前者选择器在后者之后的时间为不可选状态。

代码如下:

(html部分)

<el-date-picker v-model="date1" type="date" placeholder="选择起始日期" value-format="yyyy-MM-dd" size="small" :picker-options="pickerOptions0" @change="changeDate"></el-date-picker>
<el-date-picker v-model="date2" type="date" placeholder="选择结束日期" value-format="yyyy-MM-dd" size="small" :picker-options="pickerOptions1" @change="changeDate"></el-date-picker>

js methods部分:

// 日期选择器设置,使开始时间小于结束时间,并且所选时间早于当前时间
    changeDate() {
//因为date1和date2格式为 年-月-日, 所以这里先把date1和date2转换为时间戳再进行比较
      let date1 = new Date(this.date1).getTime()
      let date2 = new Date(this.date2).getTime()
      this.pickerOptions0 = {
        disabledDate: (time) => {
          if (date2 != "") {
            return time.getTime() > Date.now() || time.getTime() > date2;
          } else {
            return time.getTime() > Date.now();
          }
        }
      }
      this.pickerOptions1={
        disabledDate: (time) => {
          return time.getTime() < date1 || time.getTime() > Date.now();
        }
      }
    }
发布了4 篇原创文章 · 获赞 1 · 访问量 3164

猜你喜欢

转载自blog.csdn.net/weixin_29344615/article/details/103465089
今日推荐