el-date-picker组件限制到年月日

技术背景

公司之前日期选择只做到年月日,所以也只限制到了年月日;现在精确到时分秒的也要加限制。

技术查询结果

使用disabledDate设置禁用状态,参数为当前日期,要求返回 Boolean;
使用selectableRange设置可选区间,参数可为字符串或者数组,详情可查看官方文档:element-ui官方文档

限制年月日代码

// 时间选择器开始时间只可以选择今天之前的时间
      beginDate () {
        const self = this
        return {
          disabledDate (time) {
            if (self.searchForm.lastUpdateDateEnd) {
              // 如果结束时间不为空,则小于结束时间
              // 替换的目的(时间 2020-09-09 在IE中不支持; 2020/09/09 在IE中支持)
              // self.searchForm.lastUpdateDateEnd = self.searchForm.lastUpdateDateEnd.replace(/-/g, '/')
              const lastTime = new Date(self.searchForm.lastUpdateDateEnd).getTime() // 选中的时间
              if (lastTime < Date.now()) {
                return lastTime < time.getTime()
              } else {
                // 开始时间不得超过当前天,如果开始时间可以大于当前时间,直接注释当前代码即可
                return time.getTime() > Date.now()
              }
            } else {
              return time.getTime() > Date.now() // 开始时间不选时,结束时间最大值小于等于当天
            }
          }
        }
      },
      // 时间选择器结束之前不能小于开始时间
      processDate () {
        const self = this
        return {
          disabledDate (time) {
            if (self.searchForm.lastUpdateDateBegin) {
              // 如果开始时间不为空,则结束时间大于开始时间
              // self.searchForm.lastUpdateDateBegin = self.searchForm.lastUpdateDateBegin.replace(/-/g, '/')
              return new Date(self.searchForm.lastUpdateDateBegin).getTime() > time.getTime()
            }
          }
        }
      }

博文内容过长,无法发布,限制时分秒的代码在另一个博文中。
时空传送:https://editor.csdn.net/md/?articleId=123573242

你可能感兴趣的:(javascript,vue.js,elementui)