elementui 中 el-date-picker 控制选择当前年之前或者之后的年份

文章目录

需求

el-date-picker控件做出判断控制

在这里插入图片描述

分析

el-date-picker 组件添加 picker-options 属性,并绑定对应数据 pickerOptions

  • html
<el-form-item label="雨量年份:" prop="date">
  <el-date-picker v-model="rainFall.form.date" type="year" format="yyyy" value-format="yyyy"
    placeholder="请选择年份" :picker-options="pickerOptions" />
</el-form-item>
  • js
 data () {
   
    return {
   
    	pickerOptions: {
   
	        disabledDate (time) {
   
	          return time.getTime() > Date.now() - 8.64e6
	        }
	      }
		}
}

扩展

  1. 单个选择框的限制
    在这里插入图片描述
  • 设置选择今天及最近一年内的日期(包括今天)
data(){
   
    return {
   
        pickerOptions: {
   
            disabledDate(time) {
   
                let curDate = (new Date()).toString() // 当前时间戳转为字符串
                let curDateYear = (new Date()).getFullYear() // 当前时间的年份
                let oneYearAgoDate = curDate.replace(curDateYear,curDateYear-1)// 字符串年份替换为一年前
                let oneYear = new Date(oneYearAgoDate).getTime() //一年前字符串转为时间戳
                return time.getTime() > Date.now() || time.getTime() < oneYear;
            }
        }
    } 
}   
  • 设置选择今天及今天以后的日期
data (){
   
    return {
   
        pickerOptions0: {
   
            disabledDate(time) {
   
                return time.getTime() < Date.now() - 8.64e7;
            }
        }
    }   
}
  • 设置选择今天及今天以前的日期
data (){
   
    return {
   
        pickerOptions0: {
   
            disabledDate(time) {
   
                return time.getTime() > Date.now() - 8.64e6
            }
        }
    }   
}
  • 设置选择今天之后的日期(不能选择当天时间)
data (){
   
    return {
   
        pickerOptions0: {
   
            disabledDate(time) {
   
                return time.getTime() < Date.now();
            }
        }
    }    
}
  • 设置选择今天之前的日期(不能选择当天)
data (){
   
    return {
   
        pickerOptions0: {
   
            disabledDate(time) {
   
                return time.getTime() > Date.now();
            }
        }
    }    
}
  • 设置选择三个月之前到今天的日期
data (){
   
    return {
   
        pickerOptions0: {
   
            disabledDate(time) {
   
                let curDate = (new Date()).getTime();
                let three = 90 * 24 * 3600 * 1000;
                let threeMonths = curDate - three;
                return time.getTime() > Date.now() || time.getTime() < threeMonths;;
            }
        }
    }   
}
  1. 两个输入框的限制
      在这里插入图片描述
  • 设置开始时间不能大于结束时间(且只能选择当前时间以前的日期)
data(){
   
    return {
   
        pickerOptions0: {
   
            disabledDate: (time) => {
   
                if (this.value2) {
   
                    return time.getTime() > Date.now() || time.getTime() > this.value2;
                } else {
   
                    return time.getTime() > Date.now();
                }
            }
        },
        pickerOptions1: {
   
            disabledDate: (time) => {
   
                return time.getTime() < this.value1 || time.getTime() > Date.now();
            }
        }
    }    
}
  • 设置开始时间不能大于结束时间(能选择所有日期)
data(){
   
    return {
   
        pickerOptions0: {
   
            disabledDate: (time) => {
   
                if (this.value2) {
   
                   return time.getTime() > this.searchForm.endTime
                }
            }
        },
        pickerOptions1: {
   
            disabledDate: (time) => {
   
                return time.getTime() < this.searchForm.startTime
            }
        }
    }    
}

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-19 09:18:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-19 09:18:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-19 09:18:03       87 阅读
  4. Python语言-面向对象

    2024-02-19 09:18:03       96 阅读

热门阅读

  1. Rust语言之sha-256爆破

    2024-02-19 09:18:03       49 阅读
  2. go redis

    go redis

    2024-02-19 09:18:03      42 阅读
  3. android pdf框架-3,对开源库的探究1

    2024-02-19 09:18:03       45 阅读
  4. 「优选算法刷题」:寻找数组的中心下标

    2024-02-19 09:18:03       54 阅读
  5. 5G固定无线接入(FWA)

    2024-02-19 09:18:03       54 阅读
  6. 民安智库如何做汽车满意度调查

    2024-02-19 09:18:03       48 阅读
  7. 汽车零部件软件开发常用搜索算法

    2024-02-19 09:18:03       43 阅读
  8. iOS总体框架介绍和详尽说明

    2024-02-19 09:18:03       48 阅读
  9. LeetCode213. House Robber II——动态规划

    2024-02-19 09:18:03       49 阅读