TimePicker选完时间后怎么拿到值? 书生シ广云 提问于 2026-02-27 17:39:17 阅读 26 组件 我在用 Element Plus 的 TimePicker,选了时间之后不知道怎么把值取出来,试了 @change 但好像没触发? 现在代码是这样: <el-time-picker v-model="selectedTime" @change="handleTimeChange" /> 但是 handleTimeChange 根本没进,是不是应该用别的事件? 我来解答 赞 5 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 小炜曦 Lv1 你这个写法其实没大问题,但得看几个关键点。 首先确认 v-model="selectedTime" 里的 selectedTime 是不是在 data 里初始化了,比如: data() { return { selectedTime: null // 或者 new Date(),但注意 TimePicker 要求是 Date 对象或字符串(格式要对) } } 如果初始化是 '' 或 undefined,Element Plus 可能不会触发 @change,尤其是第一次选的时候。 然后 @change 事件是会触发的,但参数顺序你可能记错了——它是 (value, oldValue),不是 (event)。你打印下试试: handleTimeChange(val, oldVal) { console.log('新值:', val, '旧值:', oldVal) } 如果还是不进,大概率是 selectedTime 类型不对。TimePicker 的 v-model 要求是 Date 对象(推荐)或符合格式的字符串(比如 '14:30:00')。你要是初始化成字符串,又选了不匹配的格式,内部解析失败,可能连 change 都不触发。 建议改成: selectedTime: new Date() // 或 new Date('2024-01-01T14:30:00') 这种带时间的 服务端如果要存,一般前端传 val.getTime() 或 val.toISOString() 过来,你后端再处理成时间戳或 datetime 字段。 如果这些都确认了还不行,贴下你的 data 和 handleTimeChange 完整定义,我帮你看看是不是作用域或拼写问题。 回复 点赞 2 2026-02-27 18:00 加载更多 相关推荐 2 回答 14 浏览 iView的TimePicker组件如何动态设置默认时间? 在做表单编辑页时,需要根据后端返回的时间数据动态设置时间选择器的默认值。用v-model绑定了timeValue变量,但页面加载时默认时间不显示,控制台报"Invalid Date"错误。试过把接口返... 开发者采涵 组件 2026-02-18 16:25:23 2 回答 31 浏览 Postman测试脚本里怎么断言响应时间不超过500ms? 我在Postman里写Tests脚本,想确保接口响应时间别太慢,但不确定怎么正确获取和断言这个值。 试过用pm.response.responseTime,但好像不对?控制台报错说undefined。... Mc.琪帆 工具 2026-02-24 11:12:18 1 回答 26 浏览 Next.js中间件里怎么获取请求的URL路径? 我在写Next.js的middleware时,想根据用户访问的路径做不同处理,但不知道怎么拿到当前请求的URL。试了req.url但好像不是标准格式,还带上了查询参数,搞得判断很麻烦。 比如我想拦截所... W″淑萍 框架 2026-03-01 09:38:20 1 回答 45 浏览 Next.js中间件里怎么获取请求的URL路径? 我在写Next.js的middleware时,想根据用户访问的路径做不同处理,但不知道怎么拿到当前请求的URL路径。试了request.url,结果是个完整URL,还要自己解析,有没有更直接的方法? ... 夏侯树辰 框架 2026-02-28 23:45:22 1 回答 17 浏览 代码混淆后的时间检测怎么绕过? 我在做前端反调试练习,用工具混淆了代码,里面加了时间检测逻辑,一运行就直接跳转或清空页面,根本没法调试。试过在控制台覆盖 Date.now(),但好像没生效。 比如混淆后的代码里有类似这样的判断: v... 开发者世梅 安全 2026-02-28 07:59:18 1 回答 33 浏览 前端怎么防止接口请求被重放攻击? 最近在做支付相关的功能,后端要求每个请求都要防重放,但我作为前端不太清楚该怎么配合。我试过加时间戳,但好像还是能被截获重放。 现在用的是 Vue3 + Axios,下面是我目前的请求封装,是不是缺了什... 皇甫奕卓 安全 2026-02-27 22:56:20 2 回答 20 浏览 Element Plus时间线怎么自定义节点图标? 我用Element Plus的Timeline组件,想把默认的圆点换成自定义图标,但文档里没看懂怎么弄。试了在el-timeline-item里加icon属性,结果根本没生效,控制台也没报错,就是显示... 西门奥杰 组件 2026-02-26 17:19:19 1 回答 19 浏览 怎么把后端返回的字符串日期转成前端能用的时间格式? 我从接口拿到的日期是字符串 "2024-03-15 14:30:00",想在页面上显示成“2024年3月15日 14:30”,但直接 new Date() 解析出来是 Invalid Date,试了 ... Prog.泽睿 交互 2026-02-26 13:57:20 1 回答 20 浏览 时间线组件动态数据加载后步骤点顺序错乱怎么办? 我在用Vue做时间线组件时遇到问题,当从接口动态获取steps数据后,时间线的步骤点显示顺序总是和数组顺序相反。比如数据是[步骤1,步骤2,步骤3],但页面上显示成3-2-1排列。 我尝试在CSS里给... UI家豪 组件 2026-02-13 22:23:23 2 回答 23 浏览 React点击事件后交互时间很高该怎么优化? 我正在做一个待办事项列表,点击按钮会动态渲染1000条数据。发现每次点击后交互时间(Time to Interactive)显示有2-3秒延迟,页面明显卡顿。我用了PureComponent和shou... 建利 前端 2026-02-01 17:06:58
首先确认
v-model="selectedTime"里的selectedTime是不是在 data 里初始化了,比如:如果初始化是
''或undefined,Element Plus 可能不会触发@change,尤其是第一次选的时候。然后
@change事件是会触发的,但参数顺序你可能记错了——它是(value, oldValue),不是(event)。你打印下试试:如果还是不进,大概率是
selectedTime类型不对。TimePicker 的v-model要求是Date对象(推荐)或符合格式的字符串(比如'14:30:00')。你要是初始化成字符串,又选了不匹配的格式,内部解析失败,可能连 change 都不触发。建议改成:
服务端如果要存,一般前端传
val.getTime()或val.toISOString()过来,你后端再处理成时间戳或 datetime 字段。如果这些都确认了还不行,贴下你的
data和handleTimeChange完整定义,我帮你看看是不是作用域或拼写问题。