elementui中日期/时间的禁用处理,使用传值的方式

项目中,经常会用到 在一个学年或者一个学期或者某一个时间段需要做的某件事情,则我们需要在创建这个事件的时候,需要设置一定的时间周期,那这个时间周期就需要给一定的限制处理,避免用户的误操作,优化用户体验

如下:需求为,在选择学年后,学期的设置需要在学年中,且结束时间大于开始时间

javascript 复制代码
data() {
    return {
      pickerOptionsStartTimes: function (entDate) {//学期开始日期 禁用处理
        let entTimes = entDate
        return {
          disabledDate: time => {
            //开始年1月1日 之后的时间time.getTime() < new Date(this.ruleForm.beginYear, 0, 1).getTime()
            //结束年12月31日之前的时间 time.getTime() > new Date(this.ruleForm.endYear, 11, 31).getTime()
            if (entTimes) {
              //选择 开始年1月1日-结束时间  期间的时间
              return time.getTime() < new Date(this.ruleForm.beginYear, 0, 1).getTime() || time.getTime() > new Date(entTimes).getTime()
            } else {
              //选择 开始年1月1日-结束年12月31日
              return time.getTime() < new Date(this.ruleForm.beginYear, 0, 1).getTime() || time.getTime() > new Date(this.ruleForm.endYear, 11, 31).getTime()
            }
          },
        }
      },
      pickerOptionsEndTimes: function (startDate) {//学期结束日期 禁用处理
        let beginDate = startDate
        return {
          disabledDate: time => {
            if (beginDate) {
              //选择 开始时间-结束年12月31日前 的时间
              return time.getTime() < new Date(beginDate).getTime() || time.getTime() > new Date(this.ruleForm.endYear, 11, 31).getTime()
            } else {
              //选择 开始年1月1日-结束年12月31日
              return time.getTime() < new Date(this.ruleForm.beginYear, 0, 1).getTime() || time.getTime() > new Date(this.ruleForm.endYear, 11, 31).getTime();
            }
          },
        }
      },
}
}

因为我这个页面的需求是,学期管理是可以动态添加/删除的 所以需要用传值的方式 实现当前学期的起始时间设置

相关推荐
sbjdhjd3 小时前
Redis 主从复制、哨兵高可用与 Cluster 集群部署实验手册
运维·前端·redis·云原生·开源·bootstrap·html
乐兮创想 小林4 小时前
企业官网移动端性能优化实战:从 Core Web Vitals 到图片/CDN/响应式的工程清单
前端·性能优化·网站建设·北京网站建设公司
疯狂SQL4 小时前
JWT 在线解码、验签、生成一篇讲透:附前端实现、工具架构与在线体验地址
javascript·jwt·编解码·jwt测试
前端一小卒4 小时前
不手写代码的第 30 天,我才明白前端这个岗位还剩什么
前端·javascript·ai编程
Ajie'Blog4 小时前
Copilot Agent Tasks API 开放:AI 编程开始进入后台任务时代
服务器·前端·javascript·人工智能·copilot·ai编程
老毛肚5 小时前
jeecgboot vue TS & 模板化 04
前端·javascript·vue.js
晓13135 小时前
【Cocos Creator 2.x】篇——第二章 入门
javascript·游戏引擎
AI_零食6 小时前
鸿蒙PC Electron跨平台应用开发:24时区时间表应用详解
前端·华为·electron·开源·harmonyos·鸿蒙
Electrolux7 小时前
[onlyoffice-v9]纯前端怎么实现编辑预览office
前端·javascript·github
VidDown7 小时前
Webhook 调试器:让第三方回调“原形毕露”
java·开发语言·javascript·编辑器·postman