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()
  }
}
posted @ 2020-06-19 09:40  zhanglw  阅读(3133)  评论(0)    收藏  举报