elementui时间选择器time-picker返回值不对的问题

1. 问题

天杀的elementui的time-picker,导致我开发的系统出现了一次生产问题,原因竟然是因为组件库的bug!直接上截图。

如图,正常情况下,选择时间后,想要得到的值理应是当天的时间,如图是当年的10月13日,也就是发文的今天。

然而,当我们手动输入值时,得到的值却是当年的1月1日的时间,如图为今年的Jan 01,就是1月1日!

这可把我害惨了,通过日志拿到当时请求的报文发现传的值不对,然而自己却一直复现不了,还以为是代码其他地方把这个值改到了,直到,我在github的elementui库找到了这个issue,[Bug Report] TimePicker 时间选择器,手动输入时间后,默认日期为当年1月1号 #22048

然后去问了产品当时他的操作,他说他的确开始有输入过,这才破了案。

可以看见上图,现在这个issue还是为Open状态,我在版本更新日志也没找到对这个bug的fix,所以大家开发的时候一定要注意这个问题。

2. 解决

我们的解决方法是用time-picker的editable属性禁用掉手动输入,就让用户只能滑动选择。不过这是因为我们时间急,只是权宜之计。还有其他解决方法,比如只取这个值的时分秒,然后自己手动new Date,获取当天0点的时间戳,再加上返回的时分秒,手动拼一次数据,这样就能防止手动输入时间为1月1日的问题了。

相关推荐
知识分享小能手19 分钟前
Vue3 学习教程,从入门到精通,Axios 在 Vue 3 中的使用指南(37)
前端·javascript·vue.js·学习·typescript·vue·vue3
程序员码歌3 小时前
【零代码AI编程实战】AI灯塔导航-总结篇
android·前端·后端
用户21411832636024 小时前
免费玩转 AI 编程!Claude Code Router + Qwen3-Code 实战教程
前端
小小愿望5 小时前
前端无法获取响应头(如 Content-Disposition)的原因与解决方案
前端·后端
小小愿望5 小时前
项目启功需要添加SKIP_PREFLIGHT_CHECK=true该怎么办?
前端
烛阴5 小时前
精简之道:TypeScript 参数属性 (Parameter Properties) 详解
前端·javascript·typescript
海上彼尚6 小时前
使用 npm-run-all2 简化你的 npm 脚本工作流
前端·npm·node.js
开发者小天6 小时前
为什么 /deep/ 现在不推荐使用?
前端·javascript·node.js
如白驹过隙7 小时前
cloudflare缓存配置
前端·缓存
excel7 小时前
JavaScript 异步编程全解析:Promise、Async/Await 与进阶技巧
前端