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 ready函数源代码研究
Dec 06 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件
Aug 24 Javascript
js 利用image对象实现图片的预加载提高访问速度
Mar 29 Javascript
JS解决url传值出现中文乱码的另类办法
Apr 08 Javascript
JQuery+DIV自定义滚动条样式的具体实现
Jun 25 Javascript
jquery批量控制form禁用的代码
Aug 06 Javascript
jquery实现更改表格行顺序示例
Apr 30 Javascript
Javascript 基础---Ajax入门必看
Jul 06 Javascript
详解vue-router和vue-cli以及组件之间的传值
Jul 04 Javascript
使用express+multer实现node中的图片上传功能
Feb 02 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
Mar 28 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
Aug 03 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中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
php学习笔记 类的声明与对象实例化
2011/06/13 PHP
PHP防止跨域提交表单
2013/11/01 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
2014/06/19 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
js Function类型
2011/12/04 Javascript
onkeydown事件解决按回车键直接提交数据的需求
2013/04/11 Javascript
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
vue项目首屏打开速度慢的解决方法
2019/03/31 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
python利用dir函数查看类中所有成员函数示例代码
2017/09/08 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
python程序封装为win32服务的方法
2021/03/07 Python
python 同时读取多个文件的例子
2019/07/16 Python
如何使用python操作vmware
2019/07/27 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
基于Python实现简单学生管理系统
2020/07/24 Python
Python爬虫基于lxml解决数据编码乱码问题
2020/07/31 Python
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
模范班主任事迹材料
2014/12/17 职场文书
2015年五一劳动节慰问信
2015/03/23 职场文书
诚信考试承诺书范文
2015/04/29 职场文书
革命电影观后感
2015/06/18 职场文书
开学典礼致辞
2015/07/29 职场文书
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL
英国数字版游戏销量周榜公布 《小缇娜的奇幻之地》登顶
2022/04/03 其他游戏
Golang入门之计时器
2022/05/04 Golang
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL