问题
当通过 :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,这样就可以忽略毫秒对秒数比较的影响
博客指出通过 :picker-options 属性设置时间选择器禁选范围时,最大时间只能选到23:59:58。原因是 disabledDate 回调函数比较时间戳时,其中的毫秒对秒数比较产生影响。解决办法是在比较时将双方毫秒手动设为0,忽略其影响。

5159

被折叠的 条评论
为什么被折叠?



