React 时间选择器2025年3月17日 | 阅读 12 分钟 时间选择器允许用户选择任意一个时间。 时间选择器允许用户选择单个时间(以小时或分钟格式)。实心圆表示时钟末端已选定的时间。 React 应用程序的时间选择器。
注意:react-time-picker 与 react-date-picker 或 react-date time-picker 配合使用效果更佳。开始该项目使用 React 16.3 或更高版本。如果您使用的是旧版 React,请参考下表查找相应的 react-time-picker 版本。
旧版浏览器如果您想支持 Internet Explorer 10 等旧版浏览器,则需要使用 Intl.js 或 Intl polyfill 与 React-Date-Picker。 安装过程首先,通过执行 npm install react-time-picke 和 yarn add react-time-picker 将 react-time-picker 添加到项目中。 示例 1自定义样式如果我们不从 'react-time-picker/dist/entry.nostyle' 导入 Time Picker,然后导入 react time picker;如果我们使用默认的 react time picker,它将无法正常工作。 默认输入文件加载的样式是 React-time-picker/dist/TimePicker.css 和 React-clock/dist/Clock.css。 您需要将其复制到项目中才能进行构建。 用户指南它显示带有自定义输入、原生输入和时钟的输入字段。 属性
时钟time picker 组件将传递 react-clock 的属性,除了 clockClassName 中使用的类名。 时间选择器的类型各种类型的时间选择器,包括下拉式、滚动式和滚轮式。时间选择器的 UI 设计帮助我们确定在 React 中使用的类型。 1. 下拉式 下拉式时间选择器是最简单的时间选择器,通常用于通过下拉格式选择小时和分钟。它不像其他时间选择器那样直观,但比传统的文本框要好,因为它允许我们选择选项,而不是让用户自行输入。这有助于澄清对所需格式的困惑。 ![]() 图片由 Clue Mediator 提供 2. 滚动式 当我们使用滚动选择器时,顾名思义,用户将滚动来选择所需日期或时间信息。 ![]() 图片由 Hossein 提供 滚轮式滚轮式时间选择器模拟真实时钟,使客户更容易选择确切的时间。 它会询问时间或直观地更改滚轮上的数字,立即选择下一分钟。根据实现方式,我们可以通过多种方式更改分钟值。 一些滚轮式时间选择器在选择后显示数字(例如,小时或分钟),并有一些按钮供我们选择。这些按钮是简单的箭头,允许我们切换小时和分钟时钟箭头。 ![]() 图片由 Vonovak 提供 时间选择器的实现既然我们知道时间选择器有多么有用,您将学习如何借助 React 来创建它。本教程专注于使用 Material-UI 的时间选择器,因为它是 GitHub 上最受欢迎的 React 库。 开始之前,我们需要在系统中下载并安装 Node.js 和 npm。 创建应用为了开始,我们需要在将要构建时间选择器的相同位置构建您的 React 应用。在 CMD 中运行以下命令 此命令会生成带有以下文件的 React 应用 ![]() 安装库在使用 Material-UI 中的时间选择器之前,我们需要安装两个库:第一个是 Material-UI 库,第二个是处理我们日期的库。 许多开发人员使用 Moment.js,因为它易于使用;然而,date-fns 的包大小只有 Moment.js(71.9 kB)的四分之一(19.5 kB),这使得 date-fns 成为一个更快的选择。 要安装库,我们必须使用 npm,它是 React 应用的默认包。 使用命令 cd time-picker 开始更改当前项目(之前安装的)的目录。 最后,在此处安装 Material-UI 和 date-fns 库 cd time selector 创建时间选择器现在,我们将构建一个时间选择器。您在 Material-UI 库中有许多选项可供选择
现在让我们看看每个选项的实际应用 在此代码中,我们导入了所需的库。它包括 React 和许多时间选择器,如: (DateTimePicker, DesktopDatePicker, TimePicker, and MobileDatePicker) 来自 Material-UI 库。 代码将包括 date-fns 的适配器 (AdapterDateFns),它处理日期,并导入有助于构建页面的格式。 在这里,我们定义了 app 组件,并使用 app 的默认导出函数导出它。您可以不使用 export default 定义它,然后使用 export default apps 导出它;但是,此解决方案是最简单的选项。 我们需要跟踪日期,并在每次更改后存储一个新值。如果您不跟踪更改,则在选择新时间时日期和时间将不会更新。在上面的代码中,useState() hook 初始化日期 (2014-08-18T21:11:54),handleChange 函数将处理更改。 现在我们想要 JSX,即 JavaScript 语言语法的 React 扩展,以在此处创建一个实时选择器。 JSX 提供了一个结构化组件,该组件使用开发者熟悉的语法进行渲染。它的外观与 HTML 相同。 上面,我们还使用 Material-UI 中的选择器模块创建了选择器,并带有用于标签、值、onChange 和 inputFormat 的适当属性,这些属性指示日期显示格式。 之后,我们使用 LocalizationProvider 将各个模块组合成单个父元素。它表明您正在使用 date-fns 库来处理日期。 最后,我们必须应用边距,以便时间选择器在网页中间对齐。这是通过将代码封装在 div 元素中并通过内联样式为其应用边距来完成的。 以下是需要放置在 src/App.js 中的代码片段,以便 App 组件在 index.js 中导出并在屏幕上显示。 使用 npm start 命令启动应用程序,并在浏览器中导航到 URL https://:3000/。 ![]() 样式化时间选择器大多数组织都有自己希望添加到时间选择器的品牌,因此 Material-UI 允许您添加两个导入来为页面添加任何主题。一个导入允许我们创建和应用主题,另一个允许我们添加任何特定颜色。 要开始样式化时间选择器,请在 src/App.js 文件的顶部添加以下导入 接下来,我们必须为您的组件创建一个主题(通过 createTheme 函数)。在示例中,我们将重点关注排版和颜色,但我们可以根据需要自定义时间选择器。 我们需要在 src/App.js 文件中的导入和 app 组件之间添加以下代码来创建主题 样式过程的最后一步是我们将主题应用于组件。为此,我们需要用 ThemeProvider 元素包装 div 元素并将主题传递给它。 代码将 createTheme() 函数中选择的参数应用到网站的主题。 时间选择器的基本用法时间选择器在移动设备上渲染为模态对话框,在桌面设备上则使用带弹出窗口的文本框。 输出 ![]() 当我们点击这里并输入 AM/PM 时间时,它将显示如下。 ![]() 静态模式可以内联读取任何时间选择器。这将允许构建自定义弹出/模态容器。 输出 ![]() 响应性 (Responsiveness)时间选择器组件由运行它的设备决定。
输出 ![]() 当我们点击手机应用时 ![]() 当我们点击桌面时 ![]() 表单属性时间选择器将禁用或设置为只读。 输出 ![]() 时间验证输出 ![]() ![]() 横向输出 ![]() 子组件一些低级子组件(ClockPicker)被导出。它们在没有包装器和外部逻辑的情况下被读取,例如蒙版输入、日期值解析和验证等。 输出 ![]() ![]() 第二个秒输入用作选择准确时间点的依据。 输出 ![]() 当我们想要秒时 ![]() 当我们同时需要分钟和秒时 ![]() |
我们请求您订阅我们的新闻通讯以获取最新更新。