废话不多说直接上代码,拷贝代码保存为 html 文件,用浏览器打开就可以看到效果。

在线查看效果:https://run.iviewui.com/PmGsUW3P

 1 <!DOCTYPE html>
2 <html>
3
4 <head>
5 <meta charset="utf-8" />
6 <title>Vue.js中使用iView日期选择器并设置开始时间结束时间校验</title>
7 <!-- import Vue.js -->
8 <script src="https://vuejs.org/js/vue.min.js"></script>
9 <!-- import stylesheet -->
10 <link rel="stylesheet" href="https://unpkg.com/iview/dist/styles/iview.css">
11 <!-- import iView -->
12 <script src="https://unpkg.com/iview/dist/iview.min.js"></script>
13 </head>
14
15 <body>
16 <div id="app">
17 <template>
18 <Row>
19 <Col span="12"> 开始时间:
20 <date-picker type="datetime" v-model="startTime" placeholder="请选择开始时间" :options="startTimeOption" @on-change="onStartTimeChange"></date-picker>
21 </Col>
22 <Col span="12"> 结束时间:
23 <date-picker type="datetime" v-model="endTime" placeholder="请选择结束时间" :options="endTimeOption" @on-change="onEndTimeChange"></date-picker>
24 </Col>
25 </Row>
26 </template>
27 </div>
28
29 <script>
30 new Vue({
31 el: '#app',
32 data() {
33 return {
34 startTime: '',
35 endTime: '',
36 startTimeOption: {},
37 endTimeOption: {}
38 }
39 },
40 mounted() {
41 this.startTime = '2018-08-08 00:00:00'
42 this.endTime = '2018-08-11 23:59:59'
43 this.onStartTimeChange(this.startTime)
44 this.onEndTimeChange(this.endTime)
45 },
46 methods: {
47 /**
48 * 开始时间发生变化时触发,设置结束时间不可选择的日期
49 * 结束时间应大于等于开始时间,且小于等于当前时间
50 * @param {string} startTime 格式化后的日期
51 * @param {string} type 当前的日期类型
52 */
53 onStartTimeChange(startTime, type) {
54 this.endTimeOption = {
55 disabledDate(endTime) {
56 return endTime < new Date(startTime) || endTime > Date.now()
57 }
58 }
59 },
60 /**
61 * 结束时间发生变化时触发,设置开始时间不可选择的日期
62 * 开始时间小于等于结束时间,且小于等于当前时间
63 * @param {string} date 格式化后的日期
64 * @param {string} type 当前的日期类型
65 */
66 onEndTimeChange(endTime, type) {
67 this.startTimeOption = {
68 disabledDate(startTime) {
69 return startTime > new Date(endTime) || startTime > Date.now()
70 }
71 }
72 }
73 }
74 })
75 </script>
76 </body>
77
78 </html>

Vue.js中使用iView日期选择器并设置开始时间结束时间校验的更多相关文章

  1. JS时间戳比较大小:对于一组时间戳(开始时间~结束时间)和另一组时间戳进行比较,用于判断被比较时间戳组是否在要求范围内

    /* *JS时间戳比较大小:对于一组时间戳(开始时间~结束时间)和另一组时间戳进行比较,用于判断被比较时间戳组是否在要求范围内 *@param date1 date2(形如:'2015-01-01'类 ...

  2. vue.js中,input和textarea上的v-model指令到底做了什么?

    v-model是 vue.js 中用于在表单表单元素上创建双向数据绑定,它的本质只是一个语法糖,在单向数据绑定的基础上,增加了监听用户输入事件并更新数据的功能: 对,它本质上只是一个语法糖,但到底是一 ...

  3. 实例分析Vue.js中 computed和methods不同机制

    在vue.js中,有methods和computed两种方式来动态当作方法来用的 1.首先最明显的不同 就是调用的时候,methods要加上() 2.我们可以使用 methods 来替代 comput ...

  4. Vue.js中使用select选择下拉框

    在Vue.js中使用select选择下拉框有两种方法: 第一种: Add.html: <select v-model="sysNotice.noticeType" id=&q ...

  5. vue.js 中双向绑定的实现---初级

    1. 1 我们看到的变量,其实都不是独立的,它们都是windows对象上的属性 <!DOCTYPE html> <html lang="en"> <h ...

  6. 浅析Vue.js 中的条件渲染指令

    1 应用于单个元素 Vue.js 中的条件渲染指令可以根据表达式的值,来决定在 DOM 中是渲染还是销毁元素或组件. html: <div id="app"> < ...

  7. vue.js中的slot

    vue.js 中的 slot 一.slot 的作用 调用组件的时候,对于数据,我们会用props将数据从父组件传至子组件.但是,如果从父组件到子组件,单纯是页面局部渲染的改变,slot会更合适. 二. ...

  8. Vue.js中css的作用域

    Vue.js中的css的作用域问题: 如果在vue组件下的style中定义样式,效果会作用于整个html页面,如果只想本组件的css样式只作用于本组件的话,在<style>标签里添加sco ...

  9. vue.js 中 data, prop, computed, method,watch 介绍

    vue.js 中 data, prop, computed, method,watch 介绍 data, prop, computed, method 的区别 类型 加载顺序 加载时间 写法 作用 备 ...

  10. angular.js和vue.js中实现函数去抖(debounce)

    问题描述 搜索输入框中,只当用户停止输入后,才进行后续的操作,比如发起Http请求等. 学过电子电路的同学应该知道按键防抖.原理是一样的:就是说当调用动作n毫秒后,才会执行该动作,若在这n毫秒内又调用 ...

随机推荐

  1. nmap脚本详解

    nmap --script 前言 我们通过nmap script来大幅扩展nmap的功能,nmap具有强大的脚本引擎NSE(Nmap Scripting Engine),它允许用户编写(和共享)简单的 ...

  2. BOM操作、DOM操作、jQuery类库

    BOM操作.DOM操作.jQuery类库 一.BOM操作 BOM(Browser Object Model)是指浏览器对象模型,它使JavaScript有能力与浏览器进行对话 1.window对象 浏 ...

  3. List_集合_介绍&常用方法-ArrayList集合

    List_集合_介绍&常用方法 我们掌握了Collection接口的使用后,再来看看Collection接口中的子类,他们都具备那些特性呢?接下来,我们一起学习Collection中的常用几个 ...

  4. Sqoop导出ClickHouse数据到Hive

    背景 公司采购了外部服务,其存储为ClickHouse,按照公司要求需要将其数据采集到Hive. 验证环境 CDH: 6.3.2 ClickHouse: 19.15.4.10 Sqoop: 1.4.7 ...

  5. spring-in-action-初识反应式编程reactor

    一:反应式编程 1.反应式编程的优点 1)无阻塞 2)处理的数据可以是无限的 打水仗:  命令式编程:使用的是水气球.水气球的容量有限.把水气球装水,再扔向对方.如果想要更多的水,就需要更多的水气球. ...

  6. Activiti02流程基本功能使用

    主要分为一下几个步骤: 1.画图 2.部署流程-把图的信息转入到数据表格中 3.创建流程实例-开始一个流程-实际发起了一个流程 4.执行任务:获取任务+完成任务 1.画图 画了一个简单的流程图,图形文 ...

  7. python字典生成式,列表生成式

    list1 = [1,2,3,4,5] list2 = ['a','b','c','d','e'] {k: v for k, v in zip(list1, list2)} # {1:'a',2:'b ...

  8. Redis(安装、启动、测试、环境)

    Redis 概述: Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数 ...

  9. JZOJ 1078. 【GDOI2006】The Kth Element

    \(\text{Problem}\) 给定一个整数序列 \(a[1..N]\),定义 \(sum[i][j]=a[i]+a[i+1]+...+a[j]\),将所有的 \(sum[i][j]\) 从小到 ...

  10. JZOJ 3479. 工作安排

    \(\text{solution}\) 比较显然的 \(dp\) 顺序既然无所谓,那为了方便处理贡献,就先排个序 然后设 \(f_i\) 表示分到前 \(i\) 个的最小工资 则 \(f_i=C+f_ ...