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 相关文章推荐
各种效果的jquery ui(接口)介绍
Sep 17 Javascript
打印json对象的内容及JSON.stringify函数应用
Mar 29 Javascript
JS实现的4种数字千位符格式化方法分享
Mar 02 Javascript
JS验证IP,子网掩码,网关和MAC的方法
Jul 02 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
Aug 31 Javascript
js制作网站首页图片轮播特效代码
Aug 30 Javascript
axios基本入门用法教程
Mar 25 Javascript
基于JavaScript实现验证码功能
Apr 01 Javascript
webpack组织模块打包Library的原理及实现
Mar 10 Javascript
angular2模块和共享模块详解
Apr 08 Javascript
js+SVG实现动态时钟效果
Jul 14 Javascript
vue 全局封装loading加载教程(全局监听)
Nov 05 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高手?学会“懒惰”的编程
2006/12/05 PHP
Smarty模板快速入门
2007/01/04 PHP
php中ob函数缓冲机制深入理解
2015/08/03 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
php使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
js加解密 脚本解密
2008/02/22 Javascript
jQuery+jqmodal弹出窗口实现代码分明
2010/06/14 Javascript
jquery实用代码片段集合
2010/08/12 Javascript
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
前端性能优化及技巧
2016/05/06 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
Vue入门之数据绑定(小结)
2018/01/08 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
详解JavaScript事件循环机制
2018/09/07 Javascript
JS实现星星海特效
2019/12/24 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
2020/05/16 Javascript
[01:15:44]首部DOTA2纪录片今日23时全网上映
2014/03/19 DOTA
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
[50:11]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第三场
2018/04/09 DOTA
python迭代器实例简析
2014/09/25 Python
pandas 将索引值相加的方法
2018/11/15 Python
django中的图片验证码功能
2019/09/18 Python
python集合常见运算案例解析
2019/10/17 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
python爬虫要用到的库总结
2020/07/28 Python
《哪吒闹海》教学反思
2014/02/28 职场文书
激励口号大全
2014/06/17 职场文书
二审代理词范文
2015/05/25 职场文书
教师学习心得体会范文
2016/01/21 职场文书