码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • el-date-picker 日期时间选择器 限时时间范围 精确到时分秒


    官方的disabledDate属性:设置禁用状态,参数为当前日期,要求返回 Boolean,它只能禁用日期,对于时间并不能直接禁用,总结以下两个方法解决禁用时间:

    1.通过watch去监听源数据:

    1.1 组件

              <el-form-item label="任务时间" prop="time">
                <el-date-picker
                  :disabledDate="disabledDate"
                  style="width: 100%"
                  v-model="form.time"
                  type="datetimerange"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  range-separator="至"
                  start-placeholder="开始日期"
                  end-placeholder="结束日期"
                >
                </el-date-picker>
              </el-form-item>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    2.2 watch函数来监听数据变化

    methods:{
    	  //只能禁用日期
    	  disabledDate (time) {
          // 禁止选择当前时间之前的日期
          return time.getTime() < Date.now() - 24 * 3600 * 1000;
        },
    },
    watch:{
    	//禁用时间
        'form.time'(newVal) {
          // 如果开始时间是在当前时间之前,就重置时间
          if (newVal && newVal[0] && new Date(newVal[0]).getTime() < Date.now()) {
            this.$nextTick(() => {
              this.$message({
                type: 'error',
                message: '开始时间不能早于当前时间!'
              });
              this.form.time = ['', ''];
            });
          }
          // 如果结束时间是在当前时间之前,也重置时间
          if (newVal && newVal[1] && new Date(newVal[1]).getTime() < Date.now()) {
            this.$nextTick(() => {
              this.$message({
                type: 'error',
                message: '结束时间不能早于当前时间!'
              });
              this.form.time = ['', ''];
            });
          }
        },
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    2.通过el-form表单校验去给校验错误提示(体验会好些)

    computed:{
    	 rules () {
    	  	return {
    	  		time: [
             	 { required: true, message: '请输入任务时间', trigger: 'blur' },
             	 {
                	validator: this.checkTimeRange,
               	    trigger: 'change'
             	 }
            ],
    	  }
    	 }
    },
    methods:{
    	 checkTimeRange (rule, value, callback) {
          if (!value || !value[0] || !value[1]) {
            callback(new Error('请选择时间范围'));
          } else if (new Date(value[0]).getTime() < Date.now()) {
            callback(new Error('开始时间不能早于当前时间'));
          } else if (new Date(value[1]).getTime() < Date.now()) {
            callback(new Error('结束时间不能早于当前时间'));
          } else {
            callback();
          }
        },
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
  • 相关阅读:
    软件测试行业真的饱和了吗?
    python 绘制BA图, 绘制Bland-Altman, 两个连续变量的一致性分析
    LeetCode刷题复盘笔记——131. 分割回文串(一文搞懂回溯解决经典的分割回文串问题)
    ThreadPool线程池
    C++ 之 backtrace
    iOS 17上如何恢复数据?iOS 17 数据恢复软件
    elementui this.$message消息提示被弹框遮住
    SAP UI5 本地开发时 ui5.yaml 文件对构建 Release 版本应用目录的影响分析试读版
    前端JS基础第三篇:七道例题带你弄懂this指向问题
    想要精通算法和SQL的成长之路 - 受限条件下可到达节点的数目
  • 原文地址:https://blog.csdn.net/A_9888/article/details/134241169
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号