TimePicker选完时间后怎么拿到值? 书生シ广云 提问于 2026-02-27 17:39:17 阅读 50 组件 我在用 Element Plus 的 TimePicker,选了时间之后不知道怎么把值取出来,试了 @change 但好像没触发? 现在代码是这样: <el-time-picker v-model="selectedTime" @change="handleTimeChange" /> 但是 handleTimeChange 根本没进,是不是应该用别的事件? 我来解答 赞 14 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 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 加载更多 相关推荐 1 回答 80 浏览 iView 的 TimePicker 怎么设置默认时间不生效? 我在用 iView 的 TimePicker 组件时,想给它设置一个默认的选中时间,比如当前时间,但不管我怎么设 value 或 default-value 都没反应,界面上还是空的。 试过传字符串 ... 司空爱华 组件 2026-03-24 20:11:20 2 回答 97 浏览 Naive UI 的 TimePicker 时间范围限制不生效? 我在用 Naive UI 的 TimePicker 组件,想限制用户只能选 09:00 到 18:00 之间的时间,但设置 :disabled-hours 和 :disabled-minutes 好像... 冰杰~ 组件 2026-03-19 11:50:24 2 回答 44 浏览 iView的TimePicker组件如何动态设置默认时间? 在做表单编辑页时,需要根据后端返回的时间数据动态设置时间选择器的默认值。用v-model绑定了timeValue变量,但页面加载时默认时间不显示,控制台报"Invalid Date"错误。试过把接口返... 开发者采涵 组件 2026-02-18 16:25:23 1 回答 89 浏览 后端返回的时间戳怎么在Vue里格式化成“YYYY-MM-DD”? 我从接口拿到的数据里有个 create_time 字段,是时间戳(比如 1712345678),想在页面上显示成 “2024-04-05” 这种格式。试过直接用 new Date(item.creat... 皇甫银银 交互 2026-03-27 00:59:23 1 回答 83 浏览 后端返回的时间戳怎么在页面上格式化成“YYYY-MM-DD”? 我从接口拿到的数据里有个 create_time 字段,值是 1712345678 这种时间戳。想在 HTML 模板里直接显示成“2024-04-05”这样的格式,但不想在 JS 里额外处理,有没有办... 闲人芯依 交互 2026-03-14 10:20:22 2 回答 89 浏览 Postman测试脚本里怎么断言响应时间不超过500ms? 我在Postman里写Tests脚本,想确保接口响应时间别太慢,但不确定怎么正确获取和断言这个值。 试过用pm.response.responseTime,但好像不对?控制台报错说undefined。... Mc.琪帆 工具 2026-02-24 11:12:18 1 回答 83 浏览 Arco Upload上传后怎么拿到文件的base64? 我用 Arco Design 的 Upload 组件上传图片,想在上传前预览,但不知道怎么把选中的文件转成 base64。试了 onChange 里的 file 对象,但直接读取好像不行。 网上查到要... 志鸽(打工版) 组件 2026-03-31 05:15:13 1 回答 51 浏览 时间分片渲染长列表时样式错乱怎么办? 我在用 requestIdleCallback 做长列表的时间分片渲染,数据是分批 append 到 DOM 的,但每次新批次插入后,滚动位置会跳动,而且有些 item 的样式看起来不对。 我检查了 ... 夏侯绍博 优化 2026-03-30 21:22:12 1 回答 60 浏览 ESLint自定义规则怎么获取AST节点的父级信息? 我正在写一个ESLint插件,想在遍历AST时拿到当前节点的父节点,但不知道怎么取。 试过在visitor里直接用node.parent,但有时候是undefined,是不是得先开启什么配置? mod... 公孙江梅 工具 2026-03-24 23:43:20 1 回答 73 浏览 Sortable.js 拖拽后怎么获取新的排序顺序? 我用 Sortable.js 实现了一个列表的拖拽排序,但不知道拖完之后怎么拿到最新的顺序。试过在 onEnd 回调里打印 evt.newIndex,但这只能拿到单个元素的位置变化。 有没有办法直接获... 恩希 Dev 交互 2026-03-22 12:33:18
首先确认
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完整定义,我帮你看看是不是作用域或拼写问题。