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 相关文章推荐
父窗口获取弹出子窗口文本框的值
Jun 27 Javascript
Jquery下的26个实用小技巧(jQuery tips, tricks &amp; solutions)
Mar 01 Javascript
js克隆对象、数组的常用方法介绍
Sep 26 Javascript
ExtJS自定义主题(theme)样式详解
Nov 18 Javascript
javascript鼠标滑动评分控件完整实例
May 13 Javascript
AngularJS 表达式详细讲解及实例代码
Jul 26 Javascript
AngularJS基础 ng-readonly 指令简单示例
Aug 02 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
Jun 15 Javascript
10行原生JS实现文字无缝滚动(超简单)
Jan 02 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
Mar 29 Javascript
vue踩坑记录之数组定义和赋值问题
Mar 20 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
May 14 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
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
PHP的APC模块实现上传进度条
2015/10/27 PHP
详解使用php调用微信接口上传永久素材
2017/04/11 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
js随机颜色代码的多种实现方式
2013/04/23 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
nodejs实现OAuth2.0授权服务认证
2017/12/27 NodeJs
jQuery实现回到顶部效果
2020/10/19 jQuery
python 调用HBase的简单实例
2016/12/18 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
python中验证码连通域分割的方法详解
2018/06/04 Python
Python箱型图处理离群点的例子
2019/12/09 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
Python 如何测试文件是否存在
2020/07/31 Python
Python实现冒泡排序算法的完整实例
2020/11/04 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
2021/01/27 Python
倩碧美国官网:Clinique美国
2016/07/20 全球购物
澳大利亚领先的女性运动服品牌:Lorna Jane
2020/06/19 全球购物
网络程序员自荐信
2014/01/25 职场文书
小学新教师培训方案
2014/02/03 职场文书
渔夫的故事教学反思
2014/02/14 职场文书
家长学校教学计划
2015/01/19 职场文书
销售助理岗位职责
2015/02/11 职场文书
上班旷工检讨书
2015/08/15 职场文书
2016年社区文体活动总结
2016/04/06 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL