废话不多说直接上代码,拷贝代码保存为 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. 题解 CF1579G Minimal Coverage

    CF1579G Minimal Coverage dp好题! link to the problem 解法 首先需要观察到:如果最长线段的长度为\(maxL\),那么答案不可能超过\(2maxL\) ...

  2. 学习ASP.NET Core Blazor编程系列二十一——数据刷新

    学习ASP.NET Core Blazor编程系列文章之目录 学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应 ...

  3. SQL中常用函数操作

    --在SQL SERVER中批量替换字符串的方法 update [Table] set [Field] = REPLACE([Field],'被替换的原内容','要替换的内容') update HBb ...

  4. Grafana 系列文章(十二):如何使用Loki创建一个用于搜索日志的Grafana仪表板

    概述 创建一个简单的 Grafana 仪表板, 以实现对日志的快速搜索. 有经验的直接用 Grafana 的 Explore 功能就可以了. 但是对于没有经验的人, 他们如何能有一个已经预设了简单的标 ...

  5. 火山引擎 DataLeap:3 个关键步骤,复制字节跳动一站式数据治理经验

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理. ...

  6. el-transfer 数据量过大加载慢卡顿解决办法:el-transfer虚拟滚动懒加载的实现

    参考链接 1)https://github.com/GreenHandLittleWhite/blog/issues/152)https://github.com/GreenHandLittleWhi ...

  7. C#中的Byte,String,Int,Hex之间的转换函数

    /// <summary> Convert a string of hex digits (ex: E4 CA B2) to a byte array. </summary> ...

  8. vue+.net入门级书签项目

    vu3+.net6 webApi 书签管理项目 前言 Gitee项目地址:https://gitee.com/zyplj/book-marks Github项目地址:https://github.co ...

  9. Centos7下areaDetector IOC的编译后记

    https://github.com/EPICS-synApps/support/releases synApps出新版了,本文发文时的最新版为:R6-2 Centos7下areaDetector I ...

  10. odoo 为可编辑列表视图字段搜索添加查询过滤条件

    实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图,列表网仓记录详情页面(form视图),编辑内联视图中的货主记录,为货主和仓库字段搜索,添加过滤 ...