element-ui的日期选择器el-date-picker在ie和Safari,picker-options设置时间范围失效


问题

value-format="yyyy-MM-dd",picker-options设置时间范围失效: 在 Chrome 中正常,开始时间不能早于结束时间,结束时间不能晚于开始时间。但在 Safari 中不能限制

timeStartOptions: {
  disabledDate: (time) => {
    if (this.page.timeEnd) {
      return time.getTime() >= Date.now() || time.getTime() >= new Date(this.timeEnd + ' 00:00:00').getTime()
    }
    return time.getTime() >= Date.now() //- 8.64e7
  }

},
timeEndOptions: {
  disabledDate: (time) => {
    if (this.page.timeStart) {
      return time.getTime() >= Date.now() || time.getTime() < new Date(this.timeStart + ' 00:00:00').getTime()
    }
    return time.getTime() >= Date.now()
  }
},

解决方法

Safari中不支持 '-' 格式的日期字符串,将其替换成 '/'

timeStartOptions: {
  disabledDate: (time) => {
    if (this.page.timeEnd) {
      return time.getTime() >= Date.now() || time.getTime() >= new Date(this.page.timeEnd.replace(/-/g, '/') + ' 00:00:00').getTime()
    }
    return time.getTime() >= Date.now()
  }

},
timeEndOptions: {
  disabledDate: (time) => {
    if (this.page.timeStart) {
      return time.getTime() >= Date.now() || time.getTime() < new Date(this.page.timeStart.replace(/-/g, '/') + ' 00:00:00').getTime()
    }
    return time.getTime() >= Date.now()
  }
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM