element-ui 限制日期选择的方法(datepicker)


Posted in Javascript onMay 16, 2018

Element-UI是饿了么前端团队推出的一款基于Vue.js 2.0 的桌面端UI框架,手机端有对应框架是 Mint UI 。

需求场景如下:

  1. 指定起止日期,后选的将会受到先选的限制
  2. 不同的日期选择器,不过也存在关联关系

实现方法不难,利用了 change 事件,动态改变 picker-options 中的 disableDate 即可。

查看Demo

Template

<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/element-ui@2.3.8/lib/index.js"></script>
<div id="app">
<template>
 <div class="block">
  <span class="demonstration">起始日期</span>
  <el-date-picker v-model="startDate" type="date" placeholder="选择日期" :picker-options="pickerOptionsStart" @change="changeEnd">
  </el-date-picker>
 </div>
 
 <div class="block">
  <span class="demonstration">截止日期</span>
  <el-date-picker v-model="endDate" type="date" placeholder="选择日期" :picker-options="pickerOptionsEnd" @change="changeStart">
  </el-date-picker>
 </div>
</template>
</div>

Script

var Main = {
  data() {
   return {
    pickerOptionsStart: {},
    pickerOptionsEnd:{},
    startDate: '',
    endDate: '',
   };
  },
  methods:{
   changeStart (){
    this.pickerOptionsStart = Object.assign({},this.pickerOptionsStart,{
     disabledDate: (time) => {
      return time.getTime() > this.endDate
     }
    })
   },
   changeEnd (){
    this.pickerOptionsEnd = Object.assign({},this.pickerOptionsEnd,{
     disabledDate: (time) => {
      return time.getTime() < this.startDate
      }
    })
   }
  }
 };
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')

Style

@import url("//unpkg.com/element-ui@2.3.8/lib/theme-chalk/index.css");

.block{
 margin-top:10px;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
摘自启点的main.js
Apr 20 Javascript
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
May 23 Javascript
DWZ table的原生分页浅谈
Mar 01 Javascript
jquery实现仿新浪微博评论滚动效果
Aug 06 Javascript
js实现textarea限制输入字数
Feb 13 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
Aug 14 jQuery
JS+jQuery实现注册信息的验证功能
Sep 26 jQuery
Element-ui之ElScrollBar组件滚动条的使用方法
Sep 14 Javascript
基于Node.js搭建hexo博客过程详解
Jun 25 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
Jul 17 Javascript
jQuery实现全选按钮
Jan 01 jQuery
vue实现列表垂直无缝滚动
Apr 08 Vue.js
npm 更改默认全局路径以及国内镜像的方法
May 16 #Javascript
详解使用create-react-app快速构建React开发环境
May 16 #Javascript
seajs下require书写约定实例分析
May 16 #Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
May 16 #Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
May 16 #Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
May 16 #Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
May 16 #Javascript
You might like
PHP连接access数据库
2008/03/27 PHP
PHP使用json_encode函数时不转义中文的解决方法
2014/11/12 PHP
php实现以只读方式打开文件的方法
2015/03/16 PHP
常用js脚本
2006/12/03 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
js实现类似jquery里animate动画效果的方法
2015/04/10 Javascript
JavaScript取得键盘按下方向键是哪个的方法
2015/08/04 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
vue事件修饰符和按键修饰符用法总结
2017/07/25 Javascript
vue小白入门教程
2018/04/02 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
jQuery实现颜色打字机的完整代码
2020/03/19 jQuery
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
python中OrderedDict的使用方法详解
2017/05/05 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
Python去除字符串前后空格的几种方法
2019/03/04 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
2020/02/25 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
HTML5和CSS3让网页设计提升到下一个高度
2009/08/14 HTML / CSS
结合CSS3的新特性来总结垂直居中的实现方法
2016/05/30 HTML / CSS
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
产品销售员岗位职责
2013/12/18 职场文书
圣诞节红领巾广播稿
2014/02/03 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
团日活动总结怎么写
2014/06/25 职场文书
高三毕业评语
2014/12/31 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python