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 相关文章推荐
类之Prototype.js学习
Jun 13 Javascript
jQuery的运行机制和设计理念分析
Apr 05 Javascript
Textarea与懒惰渲染实现代码
Jan 04 Javascript
jquery $.trim()方法使用介绍
May 21 Javascript
jquery获得同源iframe内body下标签的值的方法
Sep 25 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
Mar 14 Javascript
JS仿百度自动下拉框模糊匹配提示
Jul 25 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
Mar 24 jQuery
JS图片预加载插件详解
Jun 21 Javascript
vue教程之toast弹框全局调用示例详解
Aug 24 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
Aug 29 Javascript
微信小程序实现二维码签到考勤系统
Jan 16 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
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
关于php循环跳出的问题
2013/07/01 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
2013/12/20 PHP
php微信开发之上传临时素材
2016/06/24 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
微信小程序开发教程-手势解锁实例
2017/01/06 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
认识jQuery的Promise的具体使用方法
2017/10/10 jQuery
详解React+Koa实现服务端渲染(SSR)
2018/05/23 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
[01:54]胎教DOTA2 准妈妈玩家现身中国区预选赛
2016/06/26 DOTA
python获取指定网页上所有超链接的方法
2015/04/04 Python
详细讲解Python中的文件I/O操作
2015/05/24 Python
Python md5与sha1加密算法用法分析
2017/07/14 Python
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
Python深度优先算法生成迷宫
2018/01/22 Python
Python解决pip install时出现的Could not fetch URL问题
2019/08/01 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
2020/02/27 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
韩国商务邀请函
2014/01/14 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
开业主持词
2014/03/21 职场文书
小学五一劳动节活动总结
2015/02/09 职场文书
失恋33天观后感
2015/06/11 职场文书
MySQL视图概念以及相关应用
2022/04/19 MySQL