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 相关文章推荐
js对象之JS入门之Array对象操作小结
Jan 09 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
Jan 19 Javascript
新发现一个骗链接的方法(js读取cookies)
Jan 11 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
Aug 01 Javascript
JavaScript移除数组元素减少长度的方法
Sep 05 Javascript
jqTransform美化表单
Oct 10 Javascript
SWFUpload多文件上传及文件个数限制的方法
May 31 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
Sep 26 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
Sep 30 Javascript
vue项目上传Github预览的实现示例
Nov 06 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
Nov 21 Javascript
layui的layedit富文本赋值方法
Sep 18 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 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
使用php验证复选框有效性的示例
2013/11/13 PHP
回帖脱衣服的图片实现代码
2014/02/15 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
JqGrid web打印实现代码
2011/05/31 Javascript
如何防止回车(enter)键提交表单
2014/05/11 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
2018/10/07 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
基于Vue SEO的四种方案(小结)
2019/07/01 Javascript
js实现select下拉框选择
2020/01/11 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
Python max内置函数详细介绍
2016/11/17 Python
python自动裁剪图像代码分享
2017/11/25 Python
python爬虫 urllib模块反爬虫机制UA详解
2019/08/20 Python
Python 使用type来定义类的实现
2019/11/19 Python
python科学计算之narray对象用法
2019/11/25 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
澳洲的服装老品牌:SABA
2018/02/06 全球购物
Overload和Override的区别
2012/09/02 面试题
电子商务个人职业生涯规划范文
2014/02/12 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
技术入股合作协议书
2014/10/07 职场文书
2014年检验科工作总结
2014/11/22 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
员工升职自我评价
2019/03/26 职场文书
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS
一文带你探究MySQL中的NULL
2021/11/11 MySQL
Java代码规范与质量检测插件SonarLint的使用
2022/08/05 Java/Android