问题
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()
}
}