vue element 时间校验 结束时间不能小于开始时间

 For example1举例:

<el-col :span="12">
      <el-form-item label="开始日期:" prop="startTime" class="input_search">
            <el-date-picker size="small" placeholder="请选择" v-model="form.startTime" 
                 type="date" :picker-options="StartPickerDisabled" format="yyyy-MM-dd"  >
            </el-date-picker>
      </el-form-item>
</el-col>
<el-col :span="12">
       <el-form-item label="结束日期:" prop="endtTime" class="input_search">
            <el-date-picker size="small" placeholder="请选择" :picker- 
                  options="EndPickerDisabled" v-model="form.endtTime" type="date" 
                   format="yyyy-MM-dd">
            </el-date-picker>
       </el-form-item>
</el-col>


data(){
   return{
     form:{
        startTime:'',
        endtTime:'',

     }
             StartPickerDisabled: {
                    //开始时间限制
                    disabledDate: time => {
                        let beginVal = this.form.endtTime;
                        if (beginVal) {
                            return time.getTime() > beginVal;
                        }
                    }
                },
                EndPickerDisabled: {
                    //结束时间限制
                    disabledDate: time => {
                        let beginVal = this.form.startTime;
                        if (beginVal) {
                            return time.getTime() < beginVal;
                        }
                    }
                },
   }
}

 For example2举例:

<el-col :span="12">
        <el-form-item label="日期:">
                <el-date-picker
                      v-model="selectedTime"
                      type="datetimerange"
                      value-format="yyyy-MM-dd HH:mm:ss"
                      range-separator="至"
                      start-placeholder="开始日期"
                      end-placeholder="结束日期">          
                </el-date-picker>
        </el-form-item>                
  </el-col>


  selectedTime: [],
  searchClick() {
                this.params = {
                    startTime: this.selectedTime ? this.selectedTime[0] : '',
                    endTime: this.selectedTime ? this.selectedTime[1] : ''
                }
  },

效果图

一般情况这样就可以了,但是也时会出现问题----------------如果给后端传的时间格式为yyyy-MM-dd   format那样写已经没有作用了

1.首先下载个插件   npm install moment --save # npm

Moment.js 2.24.0

JavaScript 日期处理类库------真心不错哦

2. 引入 import moment from "moment"; 

3.传参时用

 endtTime: this.form.endtTime? moment(this.form.endtTime).format("YYYY-MM-DD") : "",

 startEnd: this.form.startEnd? moment(this.form.startEnd).format("YYYY-MM-DD") : "",

完美得解决时间得坑

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值