ElementUI日期选择器DatePicker限制所选时间范围(例如限制前后时长不超一个月)的实现

这篇具有很好参考价值的文章主要介绍了ElementUI日期选择器DatePicker限制所选时间范围(例如限制前后时长不超一个月)的实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

具体效果如下:

未选择时间时,最初选择时间不能超过今天
elementui 日期插件控制范围,vue,经验分享,前端,elementui,前端,javascript

选择初始时间后,第二个选择的时间前后不能超过初始时间的一个月。且此时下拉框变成禁用状态。
例如:点击7月15日后,在8月14日往后的日期全部禁止选中
elementui 日期插件控制范围,vue,经验分享,前端,elementui,前端,javascript

7月15日前一个月的6月15日之前的日期也全部禁止选中

elementui 日期插件控制范围,vue,经验分享,前端,elementui,前端,javascript

选好起始时间和结束时间后,下拉框与所有禁止选用的日期限制全部放开,以供下一轮的正常选择

elementui 日期插件控制范围,vue,经验分享,前端,elementui,前端,javascript


实现方法

组件demo:

<el-date-picker
   v-model.trim="searchDate"
   :picker-options="pickerOptions"
   type="datetimerange"
   size="small"
   range-separator="~"
   start-placeholder="开始日期"
   end-placeholder="结束日期"
   value-format="yyyy-MM-dd HH:mm">    
</el-date-picker>

js:

data(){
  return {
       selectData: '', // 记录初始点击DatePicker日期选择器的时间
       pickerOptions: {
        // onPick:选中日期后会执行的回调。写成箭头函数否则this.selectData会报错
        // 点击时,选择的是初始时间,也就是minDate
        onPick: ({ maxDate, minDate }) => {
            this.selectData = minDate.getTime();
            if (maxDate) {
              // 第二次点击日期选择器,选好初始时间和结束时间后,解除禁用限制
              this.selectData = ''
            }
        },
        // 设置禁用状态,参数为当前日期,要求返回 Boolean。同理写成箭头函数
        disabledDate: (time) => {
            // 是否限制的判断条件,if里写点击了初始时间后的判断条件
            // 即第二个选择的时间前后不能超过初始时间的一个月
            if (this.selectData) {
            	return time.getTime() > new Date() || time.getTime() > this.selectData + 30 * 24 * 3600 * 1000 || time.getTime() < this.selectData - 30 * 24 * 3600 * 1000;
            	// time.getTime() > new Date() 为所选时间不能超过今日
            	// 30 * 24 * 3600 * 1000则为一个月的毫秒数,根据自己的需求修改限制的时间范围
          	} else {
            	return time.getTime() > new Date();
            	// 如果不需要限制所选时间不能超过今日,则直接return false即可
          	}
        },
     },
  }
}

完工~THX!文章来源地址https://www.toymoban.com/news/detail-620746.html

到了这里,关于ElementUI日期选择器DatePicker限制所选时间范围(例如限制前后时长不超一个月)的实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Element UI DatePicker 日期范围选择动态设置禁选日期

    今天在工作时,后端提出了一个DatePicker日期范围组件的一个问题 用图描述大概就是选择开始日期 13 号后,只能选择 13 号前一周和后一周的日期,其他日期处于禁止选择状态。 先去看了下 element 的相关文档,找到了一个 当前时间日期选择器特有的选项picker-options, 传送门

    2024年02月12日
    浏览(36)
  • element ui datepicker时间控件实现范围选择周,季,年。

    因项目要求,需日,周,月,季,年五种日期范围选择器,故参考文章(在末尾)后分享 一.效果图     二、版本及下载 1.实现需要修改源码,目前修改的版本为2.15.3,所以想要实现该方法,请先将elementui升级或者降到2.15.3. 2.将lib包替换到node_module/element-ui下的lib lib包下载地

    2024年01月17日
    浏览(44)
  • datePicker一个或多个日期组件,如何快捷选择多个日期(时间段)

    elementUI的组件文档中没有详细说明type=\\\"dates\\\"如何快捷选择一个时间段的日期,我们可以通过picker-options参数来设置快捷选择: 通过设置变量pickerOption的值可设置快捷选择: 其中dateFormat方法是将日期格式化,getAllDate方法是获取开始和结束日期之间的全部日期,在data中定义:

    2024年02月13日
    浏览(36)
  • elementui时间/日期选择器选择禁用当前之前(之后)时间

    01. 日期选择 02. 月份选择(示例)

    2024年02月12日
    浏览(47)
  • Uniapp小程序 时间段选择限制(开始日期 结束日期相互限制)

    效果图: 1.  在这里我使用的是uview中的日期时间选择器,初始话的时候将可选的最小时间设置为当前时间的时间戳,并将开始时间的可选的最大时间初始化为10年后(方便之后做限制操作) 2. 在确定选择开始时间的时候 将结束时间可选的最小时间设置为所选开始时间的时间

    2024年02月13日
    浏览(49)
  • 记录--设计一个可选择不连续的时间范围的日期选择器

    npm包:sta-datepicker 效果图  普通的时间选择器要么只能单选,要么只能选范围,不可以随意选择若干个时间,同时大多数现成的时间选择器选择结束会收起来,很不方便。现在需求如下 1、可以自己控制展开收起 2、可以选择不连续的多个时间范围的日期 3、可以批量选中日期

    2024年02月09日
    浏览(33)
  • elementPlus使用 el-date-picker ,限制选择的开始日期和结束日期的差在7天范围内。

    在使用el-date-picker时,想要以下需求: 选中第一个日期后(如:12月15日),第二个日期=第一个日期-7,或者第二个日期=第一个日期+7,即第二个日期选择范围如图:(前后7天可选) 只能选择今天以及今天之前的日期。 或者使用dayJs, disabledDate 可以改为

    2024年01月19日
    浏览(64)
  • el-date-picker限制选择的时间范围

     限制选择今天之前的时间,并且只能选择一天                 只能选择今天往后365天

    2024年02月10日
    浏览(47)
  • element-plus DateTimePicker日期选择器,限制指定日期和时间不可选择

    element-plus日期选择器,在指定日期时间前不可选择。 限制 日期 选择,使用 disabled-date 限制 小时 选择,使用 disabled-hours 限制 分钟 选择,使用 disabled-minutes 限制 毫秒 选择,使用 disabled-seconds 指定日期当天的时间有限制: 其他日期的时间无限制: 全部代码: 注意:选择面板

    2024年02月08日
    浏览(49)
  • iview时间控件 动态不可选日期 可选择24小时范围内 时间往后退24小时

    起始时间 触发 on-change 方法 结束时间 options 动态设置不可选择的日期。 disabledDate(date) 内部的 date 是时间戳的形式 , return 返回的是不想要选的区间范围 注意: toLocaleDateString 获取的是年月日 toLocaleString 获取年月日时分秒 toLocaleTimeString 获取时分秒 new Date(new Date().toLocaleStri

    2024年02月11日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包