【第011篇】ElementUI的el-date-picker组件设置禁用日期范围(如流转期限,开始日期仅可以选择今天及之前,结束日期可以选择开始日期之后的日期)

本文主要是介绍【第011篇】ElementUI的el-date-picker组件设置禁用日期范围(如流转期限,开始日期仅可以选择今天及之前,结束日期可以选择开始日期之后的日期),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

<el-form-item label="流转期限" prop="ycsykssj"><el-date-picker v-model="lzqx" type="daterange" style="width: 100%" range-separator="" start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd" :clearable="false" :picker-options="pickerDisabled" @change="changeDate"></el-date-picker>
</el-form-item>

核心代码:

<script>
export default {data () {return {choiceDate0: '', // 第一个选择的日期choiceDate1: '', // 第二个选择的日期pickerDisabled: {onPick: ({maxDate, // 第一个值minDate // 第二个值}) => {this.choiceDate1 = '' // 每次点击的时候将第二个日期设置为空if (minDate) {this.choiceDate0 = minDate.getTime()} else {this.choiceDate0 = ''}if (maxDate) { // 当选择第二个值后,将第一个值清空。this.choiceDate0 = ''this.choiceDate1 = maxDate.getTime()}},disabledDate: (time) => {// 主要思路:// (1)当没有点击的时候,限制只能选择今天及之前日期// (2)当点击一次后,说明第一个值有值了,此时限制第二个值只能选择第一个值之后的日期// (3)当点击第二次后,说明第二个有值了,此时限制第二个值只能选择第一个值之后的日期const choiceDateTime0 = new Date(this.choiceDate0).getTime() // 选中的第一个日期if (!this.choiceDate0 && !this.choiceDate1) { // 第一个和第二个均无值(说明没有点击)return time.getTime() > new Date() * 1 + 600 * 1000} else if (this.choiceDate0 && !this.choiceDate1) { // 第一个有值,但第二个无值(说明点击了一次)return time.getTime() < choiceDateTime0} else if (!this.choiceDate0 && this.choiceDate1) { // 第一个无值,但第二个有值(说明点击了两次次)return time.getTime() < choiceDateTime0} else {return time.getTime() > new Date() * 1 + 600 * 1000}}}}},methods: {changeDate (date) { // 组件值改变事件,当值改变后将第一个值和第二个值设置为空,方便下次设置日期范围。this.choiceDate0 = ''this.choiceDate1 = ''}}
}
</script>

这篇关于【第011篇】ElementUI的el-date-picker组件设置禁用日期范围(如流转期限,开始日期仅可以选择今天及之前,结束日期可以选择开始日期之后的日期)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1029079

相关文章

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

Mysql表如何按照日期字段的年月分区

《Mysql表如何按照日期字段的年月分区》:本文主要介绍Mysql表如何按照日期字段的年月分区的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、创键表时直接设置分区二、已有表分区1、分区的前置条件2、分区操作三、验证四、注意总结一、创键表时直接设置分区

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

PyCharm如何设置新建文件默认为LF换行符

《PyCharm如何设置新建文件默认为LF换行符》:本文主要介绍PyCharm如何设置新建文件默认为LF换行符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录PyCharm设置新建文件默认为LF换行符设置换行符修改换行符总结PyCharm设置新建文件默认为LF