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 ui1.7 dialog只能弹出一次问题
Aug 27 Javascript
JS 无法通过W3C验证的处理方法
Mar 09 Javascript
JavaScript继承方式实例
Oct 29 Javascript
javascript写的简单的计算器,内容很多,方法实用,推荐
Dec 29 Javascript
javascript自定义函数参数传递为字符串格式
Jul 29 Javascript
JS实现在页面随时自定义背景颜色的方法
Feb 27 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
Dec 02 Javascript
bootstrap modal弹出框的垂直居中
Dec 14 Javascript
jQuery编写textarea输入字数限制代码
Mar 23 jQuery
jQuery菜单实例(全选,反选,取消)
Aug 28 jQuery
layui获取选中行数据的实例讲解
Aug 19 Javascript
详解js中Array的方法及技巧
Sep 12 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
《星际争霸》各版本雷兽特点图文解析 雷兽不同形态一览
2020/03/02 星际争霸
php实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
php 服务器调试 Zend Debugger 的安装教程
2009/09/25 PHP
使用PHP遍历文件夹与子目录的函数代码
2011/09/26 PHP
PHP读取txt文件的内容并赋值给数组的代码
2011/11/03 PHP
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
php输出指定时间以前时间格式的方法
2015/03/21 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
2017/06/28 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
2019/07/31 Javascript
AntV F2和vue-cli构建移动端可视化视图过程详解
2019/10/08 Javascript
webpack打包优化的几个方法总结
2020/02/10 Javascript
vue中el-input绑定键盘按键(按键修饰符)
2020/07/22 Javascript
JavaScript Image对象实现原理实例解析
2020/08/26 Javascript
[03:52]显微镜下的DOTA2第三期——英雄在无聊的时候干什么
2014/06/20 DOTA
用python读写excel的方法
2014/11/18 Python
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
Python字符串格式化输出方法分析
2016/04/13 Python
Python中pillow知识点学习
2018/04/30 Python
pandas 实现字典转换成DataFrame的方法
2018/07/04 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
2020/12/07 Python
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
Yahoo-PHP面试题2
2014/12/06 面试题
高中家长寄语
2014/04/02 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
一文搞懂Python Sklearn库使用
2021/08/23 Python