vue element-ui el-date-picker 时间拦截之傻瓜式教学,开始时间不能大于结束时间,结束时间不能大于开始时间

template部分

<el-date-picker
                  disabled
                  popper-class="planTime"
                  style="display: inline-block"
                  type="date"
                  value-format="yyyy-MM-dd"
                  placeholder="选择计划开始时间"
                  :picker-options="planStartPickerOptions"
                >
                </el-date-picker><el-date-picker
                  disabled
                  popper-class="planTime"
                  style="display: inline-block"
                  type="date"
                  value-format="yyyy-MM-dd"
                  placeholder="选择计划结束时间"
                  :picker-options="planEndPickerOptions"
                >
                </el-date-picker>

data 部分 // 这里是绑定了 上面 v-model 的字段,需要自行修改

planStartPickerOptions: this.beginDate(), 
      planEndPickerOptions: this.processDate(),
methods 方法部分
beginDate() {
      const self = this;
      return {
        disabledDate(time) {
          if (self.form.planEnd) {
            //如果结束时间不为空,则小于结束时间
            return new Date(self.form.planEnd).getTime() < time.getTime();
          } else {
            return time.getTime() < Date.now() - 8.64e7; //如果没有后面的-8.64e7就是不可以选择今天的
          }
        },
      };
    },
    processDate() {
      const self = this;
      return {
        disabledDate(time) {
          if (self.form.planStart) {
            //如果开始时间不为空,则结束时间大于开始时间
            return new Date(self.form.planStart).getTime() > time.getTime();
          } else {
            return time.getTime() < Date.now(); //如果没有后面的-8.64e7就是不可以选择今天的
          }
        },
      };
    },

 

 

posted @ 2022-11-03 09:31  柠檬-不加糖  阅读(466)  评论(0编辑  收藏  举报