当前位置: 首页 > news >正文

element-ui 关于日期范围选择控件,如何限制只能选择30天

问题描述:

element-ui 日期选择器如何限制只能选择一个月,超过一个月不能选择,也就是在选定起始日期时,只能向后面选择30天,同时不能选择超过今天的日期?

知识点:

element-ui日期选择组件地址:http://element-cn.eleme.io/#/zh-CN/component/date-picker

picker-options:当前时间日期选择器特有的选项,类型object

disabledDate:设置禁用状态,参数为当前日期,要求返回 Boolean,类型Function

onPick:选中日期后会执行的回调,只有当 daterange 或 datetimerange 才生效,类型Function({ maxDate, minDate })

解决办法:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>element-ui 关于日期范围选择控件,如何限制只能选择30天</title>
    <!-- 引入样式 -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>
<body>
<div>
    <div id="app">
        <el-date-picker
                v-model="dateRange"
                :picker-options="pickerOptions"
                type="daterange"
                range-separator="至"
                start-placeholder="开始日期"
                end-placeholder="结束日期">
        </el-date-picker>
    </div>
</div>
</body>
<!-- import Vue before Element -->
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- import JavaScript -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
  new Vue({
    el: '#app',
    data: function() {
      return {
        pickerMinDate: '',
        dateRange: [],
        pickerOptions: {
          onPick: ({ maxDate, minDate }) => {
            this.pickerMinDate = minDate.getTime()
            if (maxDate) {
              this.pickerMinDate = ''
            }
          },
          disabledDate: (time) => {
            if (this.pickerMinDate !== '') {
              const day30 = (30 - 1) * 24 * 3600 * 1000
              let maxTime = this.pickerMinDate + day30
              if (maxTime > new Date()) {
                maxTime = new Date()
              }
              return time.getTime() > maxTime
            }
            return time.getTime() > Date.now()
          }
        }
      }
    }
  })
</script>
</html>

 

相关文章:

  • JS判断数组里是否有重复元素的方法小结
  • 防抖函数
  • vue中watch的详细用法,带deep,immediate
  • VScode ctrl+鼠标左键点击 无法定位的问题
  • 正则 校验英文逗号字符串
  • 修改window本地hosts文件,修改域名指向
  • express中处理json数据
  • vue watch 监听对象的某个属性
  • axios上传的时候,.then,.catch都触发了
  • input上传文件选择同一文件时change事件不生效解决方法
  • vue数据变了,视图没有更新解决方法
  • 详解elementUI中input框无法输入的问题
  • vue实现表单未编辑或未保存离开弹窗提示功能
  • vue中父组件异步获取数据给子组件传参
  • 如何打造一个属于自己的命令行工具
  • CAP理论的例子讲解
  • github从入门到放弃(1)
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Spring Boot快速入门(一):Hello Spring Boot
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • TCP拥塞控制
  • 从setTimeout-setInterval看JS线程
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 微信小程序设置上一页数据
  • postgresql行列转换函数
  • $$$$GB2312-80区位编码表$$$$
  • $.ajax,axios,fetch三种ajax请求的区别
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (007)XHTML文档之标题——h1~h6
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (十三)Maven插件解析运行机制
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)linux下的时间函数使用
  • (转)程序员疫苗:代码注入
  • .gitignore
  • .Net Core缓存组件(MemoryCache)源码解析
  • .net framework profiles /.net framework 配置
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .net 发送邮件
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .net解析传过来的xml_DOM4J解析XML文件
  • .NET中 MVC 工厂模式浅析
  • ::前边啥也没有
  • ??eclipse的安装配置问题!??
  • @NestedConfigurationProperty 注解用法
  • [AI]ChatGPT4 与 ChatGPT3.5 区别有多大
  • [Angular 基础] - 自定义指令,深入学习 directive