You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React函数组件如何获取time类型输入框onChange的HH:mm格式值

React type="time"输入框HH:mm格式时间取值方案

HTML原生type="time"输入框的value属性默认返回24小时制HH:mm格式的时间字符串,你只需要在onChange回调中同步读取e.target.value即可获取对应值。你当前的代码仅打印了事件对象本身,没有读取target下的value属性,修改后的实现示例如下:

import { useState } from 'react';

function App() {
  // 绑定input的value状态
  const [timeValue, setTimeValue] = useState('');

  const handleTimeChange = (e) => {
    // 同步读取value,拿到的直接是HH:mm格式的时间
    const currentTime = e.target.value;
    console.log(currentTime); // 输出示例:09:45、22:10
    setTimeValue(currentTime);
  };

  return (
    <input
      type="time"
      onChange={handleTimeChange}
      className="app-time"
      min="00:00"
      max="23:59"
      value={timeValue}
    />
  );
}

注意事项

  • React的合成事件采用池化复用机制,不要通过异步打印整个事件对象的方式读取value,事件回调执行完成后合成事件的属性会被重置回收,会导致取不到值的问题,必须在回调内同步读取需要的属性。
  • 如果需要获取带秒的时间,可以给input添加step={1}属性,此时返回的value格式为HH:mm:ss。

内容的提问来源于stack exchange,提问作者Tick Twitch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:36:02