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();
//这里的"<"表示可选时间大于当前时间,反之同理

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Js双日历控件,在一个网页上同时显示两个日期选择,写成了封装类,方便使用者调用。同时美化的相当不错。   包括了以下函数:   1、2012——2020年节假日信息(包括节假日前1~3天/后1~3天)   2、格式化数字,不足两位前面补0   3、将日期对象/日期字会串格式化为指定日期字符串   4、将日期字符串格式化为数字   5、获取目标元素针对于文档的位置   6、元素选择   7、查找元素位置   8、判断目标元素是否包含指定的className      关于一些日历调用的参数说明:Calendar({    id: "#J_date_1", //触发显示日历元素ID    isPopup: !0, //弹出式日历    isPrevBtn: !0, //显示上月按钮    isNextBtn: !0, //显示下月按钮    isCloseBtn: !0, //显示关闭按钮    isHoliday: !0, //节假日特殊显示    isHolidayTips: !0, //显示节假日1~3天/后1~3天信息    isDateInfo: !0, //显示日期信息    isMessage: !0, //有日历提示信息    isCalStart: !0, //标记为开始时间    dateInfoClass: "date-info-start", //开始时间icon样式    range: {mindate: "2011-09-01", maxdate: "2020-12-31"},//限制范围(当天——2020-12-31)    count: 2, //日历个数    monthStep: 1, //切换上下月日历步长    onSelectDate: fnSelectDate, //选择日期回调方法    onClose: fnClose //关闭日历回调方法
Element-UI 是一套基于 Vue.js 的组件库,它提供了丰富的可复用的 UI 组件,可以帮助我们快速构建美观、交互丰富的前端界面。下面是一个使用 Element-UI 实现一个 Vue 文件管理的简单示例: 首先,我们需要安装 Element-UI,可以通过 npm 或者 yarn 进行安装: ``` npm install element-ui ``` 然后,在 Vue 项目的入口文件中引入 Element-UI: ```javascript import Vue from 'vue'; import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; Vue.use(ElementUI); ``` 接下来,我们可以创建一个 Vue 组件来实现文件管理的功能。假设我们有一个 FileManagement.vue 文件,代码如下: ```vue <template> <div> <el-table :data="fileList" style="width: 100%"> <el-table-column prop="name" label="文件名"></el-table-column> <el-table-column prop="size" label="大小"></el-table-column> <el-table-column prop="type" label="类型"></el-table-column> </el-table> </div> </template> <script> export default { data() { return { fileList: [ { name: 'file1.txt', size: '10KB', type: '文本文件' }, { name: 'file2.jpg', size: '100KB', type: '图片文件' }, { name: 'file3.doc', size: '50KB', type: '文档文件' }, ], }; }, }; </script> <style> /* 样式可以根据需求进行自定义 */ </style> ``` 在上面的代码中,我们使用Element-UI 的 el-table 组件来展示文件列表,el-table-column 组件用于定义表格的列。fileList 是一个数组,用于存储文件的信息。 这样,我们就实现了一个简单的 Vue 文件管理界面。你可以根据实际需求进行扩展和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值