问题
当通过 :picker-options="pickerOptions" 属性设置时间选择器的禁选范围时,
pickerOptions: {
disabledDate: (time) => {
// 禁选范围进行比较时会被毫秒影响,导致最大时间只能选到23:59:58
return time.setMilliseconds(0) > new Date().setHours(23, 59, 59, 0)
}
},
最大时间只能选到23:59:58秒
原因:disabledDate回调函数在进行时间表示时,会把时间转换为时间戳挨个进行比对,
·····然而时间戳内却包含毫秒,看似很小的单位,却对我们的比较产生了影响。几毫秒的差距在比较秒数时影响极大
解决:
在进行return 比较时,把双方的毫秒手动设置为0,这样就可以忽略毫秒对秒数比较的影响