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();
            }
          },
        }
      },
}
}

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

相关推荐
IT_陈寒27 分钟前
Java线程池用错参数,我的服务居然悄悄崩溃了
前端·人工智能·后端
卡布鲁41 分钟前
React useMemo 与 useCallback 完全指南:原理、场景与避坑
前端·react.js
碳基修炼1 小时前
排查记:本地 devServer 是 http,浏览器却把 302 重定向升级成了 https
前端·http
步行cgn1 小时前
Spring p 命名空间注入详解
java·前端·spring
何何____1 小时前
Vue 生命周期详解
前端·javascript
江米小枣tonylua1 小时前
TypeScript 全面の拥抱 !Prisma 8 + Electron 升级实战
前端
闪耀之光M782 小时前
npm命令解析
前端
咸鱼老弟2 小时前
AI Agent 的"自主性悖论"——为什么给它的自由度越大,越要配一套更硬的护栏
前端·人工智能
默_笙3 小时前
💫 闭包是个背包:拆解小米前端面试题里的三道"闭包陷阱"
前端·javascript·面试
天若有情6733 小时前
粒子星空背景单页HTML模板|炫酷动态星空特效网页(纯前端)
前端·html·css动画·网页特效·粒子星空·静态网页模版