zoukankan      html  css  js  c++  java
  • element ui 日期控件 限制日期在固定时间内

    之前写过基于element ui 中的日期控件都开始日期的限制和结束日期的限制,最近项目要求要做个限制日期在30天内,然后将之前的代码重构了一下。

    代码如下

    <el-form-item
                              label="开始日期"
                              label-width="90px"
                              prop="startDate">
                              <el-date-picker
                                v-model="statDate"
                                :picker-options="startDateOptions"
                                type="date"
                                clearable
                                style="140px"
                                value-format="yyyy-MM-dd"
                                placeholder="开始日期"/>
                            </el-form-item>
     
    <el-form-item
                              label="结束日期"
                              label-width="90px"
                              prop="endDate">
                              <el-date-picker
                                v-model="endDate"
                                :picker-options="EndDateOptions"
                                type="date"
                                clearable
                                style="140px"
                                value-format="yyyy-MM-dd"
                                placeholder="结束日期"/>
                            </el-form-item>
     
     
     
    export default{
    data() {
        return {
       
     // 时间开始测试
          startDateOptions: {
            // console.log(time)
            disabledDate: (time) => {
              if (this.endDate) { 
           const day=30*24*3600*1000 //将日期转换为毫秒       return time.getTime() > Date.now(this.endDate) - 8.64e7 ||time.getTime() < new Date(this.endDate).getTime()-day // 如果当天可选,就不用减8.64e7 ,将日期的限制在结束日期减去30天内可选,其他的日期不可选 } else {     return time.getTime() < new Date(this.endDate).getTime() || time.getTime() > Date.now() || time.getTime() > Date.now(this.endDate) - 8.64e7 } } }, // 时间结束测试 EndDateOptions: { disabledDate: (time) => {
          if(this.statDate){
            const day=30*24*3600*1000
            return time.getTime() > new Date(this.statDate).getTime()+ day|| time.getTime() > Date.now()
            || time.getTime()<new Date(this.statDate).getTime ||time.getTime() > Date.now(this.statDate) - 8.64e7 // 如果当天可选,就不用减8.64e7
          }else{
              return time.getTime() < new Date(this.statDate).getTime() || time.getTime() > Date.now() || time.getTime() > Date.now(this.statDate) - 8.64e7 // 如果当天可选,就不用减8.64e7
          } } }, statDate: '', // 结束日期 endDate: '', // 开始日期至结束日期   } } }

      其实也没有做太大的改动,就是将返回的条件更改了一下,处理了一下数据就可以了。共勉!

  • 相关阅读:
    使用XAMPP 搭建wordpress网站
    Debian VI高亮显示及注释颜色过灰暗更改办法
    用pgplot画一个抛物线。
    [转]开发Qt 4应用程序的基本流程和方法之我见
    零基础学Qt 4编程实例之三:勾三股四弦必五—文件包含语句与标准库的使用
    LINQ之路 7:子查询、创建策略和数据转换(要点笔记)
    jtemplates使用+同内容列合并
    委托事件调用的几种方式
    LINQ之路 6:延迟执行(Deferred Execution) 笔记
    简单总结上一份工作
  • 原文地址:https://www.cnblogs.com/yearshar/p/12010173.html
Copyright © 2011-2022 走看看