element-ui 时间选择器限制范围的实现(随动)


Posted in Javascript onJanuary 09, 2019

需求:

选择日期范围,但是选择范围需要在一周以内。举个栗子:假设选第一个日期为1月17日,那么1月11日以前、1月23号以后的日期都需要设为禁选状态。

方法:

考虑到有两种设计方式:

1、用两个独立时间选择器控制,实现起来比较混乱。
2、用日期范围选择器。

第一种方式没有做demo,有特殊需求的小伙伴请留言。这里选择使用日期范围选择器,使用起来可以预见代码会清爽很多。

效果图:

element-ui 时间选择器限制范围的实现(随动)

代码:

<el-date-picker
  v-model="datePick"
  type="daterange"
  value-format='yyyy-MM-dd'
  size="small"
  :picker-options="pickerOptions"
  range-separator="至"
  start-placeholder="开始日期"
  end-placeholder="结束日期">
</el-date-picker>
data() {
 let _minTime = null
 let _maxTime = null
 return {
  datePick: [new Date().format("yyyy-MM-dd") ,new Date().format("yyyy-MM-dd")], //默认选择当天,看个人需求
  pickerOptions:{
   onPick(time){
    // 如果选择了只选择了一个时间
    if (!time.maxDate) {
     let timeRange = 6*24*60*60*1000 // 6天
     _minTime = time.minDate.getTime() - timeRange // 最小时间
     _maxTime = time.minDate.getTime() + timeRange // 最大时间
    // 如果选了两个时间,那就清空本次范围判断数据,以备重选
    } else {
     _minTime = _maxTime = null
    }
   },
   disabledDate(time) {
    // onPick后触发
    // 该方法会轮询当3个月内的每一个日期,返回false表示该日期禁选
    if(_minTime && _maxTime){
     return time.getTime() < _minTime || time.getTime() > _maxTime
    }
   }
  }
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript获取当前ip的代码
May 10 Javascript
获取URL地址中的文件名和参数的javascript代码
Sep 02 Javascript
js同比例缩放图片的小例子
Oct 30 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
Jul 18 Javascript
关于session和cookie的简单理解
Jun 08 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
Jun 28 Javascript
jQuery中的100个技巧汇总
Dec 15 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
Mar 29 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
Sep 11 jQuery
javascript实现电脑和手机版样式切换
Nov 10 Javascript
JavaScript实现像雪花一样的Hexaflake分形
Jul 07 Javascript
Javascript使用integrity属性进行安全验证
Nov 07 Javascript
JavaScript学习笔记之DOM基础操作实例小结
Jan 09 #Javascript
如何解决webpack-dev-server代理常切换问题
Jan 09 #Javascript
JavaScript学习笔记之数组基本操作示例
Jan 09 #Javascript
浅谈webpack性能榨汁机(打包速度优化)
Jan 09 #Javascript
Node.js的进程管理的深入理解
Jan 09 #Javascript
从vue源码看props的用法
Jan 09 #Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
Jan 08 #Javascript
You might like
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
php中explode的负数limit用法分析
2015/02/27 PHP
php实现字符串首字母大写和单词首字母大写的方法
2015/03/14 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
php中文语义分析实现方法示例
2019/09/28 PHP
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
JS简单计算器实例
2015/01/20 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
JS表单验证的代码(常用)
2016/04/08 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
layer 关闭指定弹出层的例子
2019/09/25 Javascript
js实现无缝轮播图特效
2020/05/09 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
Element Notification通知的实现示例
2020/07/27 Javascript
Python扫描IP段查看指定端口是否开放的方法
2015/06/09 Python
python多进程使用及线程池的使用方法代码详解
2018/10/24 Python
Python基于百度云文字识别API
2018/12/13 Python
对django xadmin自定义菜单的实例详解
2019/01/03 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
三个python爬虫项目实例代码
2019/12/28 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
django跳转页面传参的实现
2020/09/17 Python
美国最佳在线航班预订网站:LookupFare
2019/03/26 全球购物
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
外企C语言笔试题
2013/11/10 面试题
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
超市中秋节促销方案
2014/03/21 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
pytorch实现手写数字图片识别
2021/05/20 Python
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js
js判断两个数组相等的5种方法
2022/05/06 Javascript