element-ui组件使用两个日期选择器,开工时间不能大于竣工时间

项目场景:

element-ui组件使用两个日期选择器,提出需要的功能需求
保证开工时间不能大于竣工时间
在这里插入图片描述


问题描述

在必填时间项目中,使用的是element-ui日期选择插件,绑定的数据是父组件传递的参数,需要手动配置两个时间之间的规则

	<el-row>
        <el-col :span="12">
          <el-form-item label="开工时间" prop="kgsj">
            <el-date-picker v-model="bhzsqbbjz.kgsj" type="date" placeholder="选择日期时间" :picker-options="pickerOptions1"> </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="竣工时间" prop="jgrq">
            <el-date-picker v-model="bhzsqbbjz.jgrq" type="date" placeholder="选择日期时间" :picker-options="pickerOptions2"> </el-date-picker>
          </el-form-item>
        </el-col>
 	</el-row>

解决方案:

在上面的元素标签中添加:picker-options属性,用来给当前时间日期选择器定义方法,方法如下面的pickerOptions1,pickerOptions2

export default {
  props: {
    bhzsqbbjz: {
      type: Object,
      default: {}
    },
  },
  data() {
    return {
      pickerOptions1: {
        disabledDate: (time) => {
          return this.bhzsqbbjz.jgrq ? time.getTime() > this.bhzsqbbjz.jgrq.getTime() : false //只能选择竣工日期之前的日期
          //返回---结束时间是否有值?   可选时间小于结束时间   :  任意时间都可选
        }
      },
      pickerOptions2: {
        disabledDate: (time) => {
          return this.bhzsqbbjz.kgsj ? time.getTime() < this.bhzsqbbjz.kgsj.getTime() : false //只能选择开工时间之后的日期
          //返回---开始时间是否有值?   可选时间大于开始时间   :  任意时间都可选
        }
      }
    }
  },
}

注意事项:
1、disabledDate: (time)=>{}这里必须是箭头函数,否则找不到this
2、return 返回的值为false时,所有时间都可选,值为true时,所有时间都不可选
3、return time.getTime() < Date.now();
//这里的"<"表示可选时间大于当前时间,反之同理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值