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 相关文章推荐
Javascript变量作用域详解
Dec 06 Javascript
js中直接声明一个对象的方法
Aug 10 Javascript
jQuery中:empty选择器用法实例
Dec 30 Javascript
Jquery判断form表单数据是否变化
Mar 30 Javascript
JQuery遍历元素的父辈和祖先的方法
Sep 18 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
Nov 03 Javascript
JavaScript构建自己的对象示例
Nov 29 Javascript
jQuery.Ajax()的data参数类型详解
Jul 23 jQuery
vue实现留言板todolist功能
Aug 16 Javascript
Vue中正确使用jQuery的方法
Oct 30 jQuery
微信小程序倒计时功能实例代码
Jul 17 Javascript
Vuex实现数据共享的方法
Dec 20 Javascript
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
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
php+ajax简单实现全选删除的方法
2016/12/06 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
php使用curl模拟多线程实现批处理功能示例
2019/07/25 PHP
Laravel重定向,a链接跳转,控制器跳转示例
2019/10/22 PHP
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
利用Javascript开发一个二维周视图日历
2017/12/14 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
python re正则表达式模块(Regular Expression)
2014/07/16 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
python仿evething的文件搜索器实例代码
2019/05/13 Python
python中PS 图像调整算法原理之亮度调整
2019/06/28 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
python如何获得list或numpy数组中最大元素对应的索引
2020/11/16 Python
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
采用怎样的方法保证数据的完整性
2013/12/02 面试题
班级团队活动方案
2014/08/14 职场文书
搞笑的获奖感言
2014/08/16 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
学校食堂标语
2014/10/06 职场文书
2015大学生自我评价范文
2015/03/03 职场文书
redis不能访问本机真实ip地址的解决方案
2021/07/07 Redis
JavaScript的function函数详细介绍
2021/11/20 Javascript
【海涛DOTA解说】EVE女子战队独家录像加ZSMJ神牛两连发
2022/04/01 DOTA