news 2026/10/29 19:52:20

【移动元件库】15.时间选择器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【移动元件库】15.时间选择器

时间选择器是移动端场景下用于选择日期、时间或同时选择二者的输入类组件,属于级联选择器在日期选择场景的垂直化应用,其选项关联交互逻辑与级联选择器同源,复杂度相对更低。

1️⃣动图效果

元件库目前共提供三类时间选择器,分别为独立日期选择样式、独立时分选择样式,以及日期+时分的复合选择样式,可匹配不同业务场景的需求。

🔹日期选择器:供用户选择年、月、日组合完成日期输入的组件。结合实际业务落地经验,元件库内置了两种初始默认值方案:当前年份1月1日,以及系统当前年月日,可直接按需调用。

🔹时分选择器:供用户选择小时、分钟组合完成时间输入的组件。同样适配高频使用场景,初始默认值支持设置为0时0分,或系统当前时分。

🔹日期+时分选择器:供用户选择完整年月日时分信息的复合组件,为上述两类组件的功能整合,默认值同样提供两种方案:当前年份1月1日0时0分,以及系统当前完整年月日时分。

由于日期+时分选择器整合了独立日期、独立时分选择器的全部功能特性,能够覆盖时间选择器的所有使用场景,因此本文将以该复合组件为讲解示例,完整介绍时间选择器的使用方法与制作逻辑。

2️⃣使用方法

  1. 进入【元件库->输入组件->时间选择器】目录,选择匹配业务需求的时间选择器组件,直接拖拽至原型画布即可使用。

  1. 统一页面内的蒙层与弹框样式,具体规范可参考【3.弹框与蒙层】章节说明。

  1. 自定义调整起止年份范围。年、月、日、时、分5个时间单位中,仅年份的可选范围为非固定项。若需自定义年份区间,可找到组件内的“年份列表”中继器,直接修改中继器表格内的年份数据即可生效。

3️⃣制作方法

🔹制作思路

前文已说明,时间选择器是级联选择器在时间选择场景的专项应用,其组件结构、数据组织逻辑、基础交互事件均与级联选择器完全一致,因此本文不再重复赘述通用部分,仅重点讲解时间选择器特有的年、月、日、时、分多选项间的关联交互实现方法。若对级联选择器的基础组件结构、数据组织方式、通用交互事件不熟悉,可先回顾往期两篇教程:【13.基础选择器】与【14.级联选择器】。

本文将以默认值为系统当前年月日时分的完整日期+时间选择器为例,详细拆解5个时间选项之间的交互逻辑实现思路。

  • 5个时间选项列表的默认值定位逻辑。常规级联选择器的选项列表默认初始选中第一项,但默认值为当前时间的时间选择器中,各时间选项的初始选中项需要根据弹框触发时的系统时间动态计算。借助Axure自带的时间函数,可快速获取当前时间对应的年、月、日、时、分数值;通过计算该数值与对应选项列表首项的差值,即可得出当前时间对应选项的索引值,以及该选项移动至列表居中选中位的偏移距离,最终实现5个时间选项列表默认选中位置的自动校准。

  • 选项间的联动交互逻辑。年、月、日、时、分5个时间单位中,仅年、月、日三者存在闰年、大小月场景下的联动关系,其余场景下各选项均可独立滑动,互不干扰。当用户选中2月时,若调整年份选项,需要根据闰年判定规则同步更新日期的可选范围:闰年时日期上限为29天,非闰年时为28天;大小月的联动逻辑仅与月份、日期选项相关,与年份无关,当选中的月份在大小月之间切换时,需要实时同步调整日期的可选范围。

🔹组件结构

时间选择器的组件结构与级联选择器完全一致,具体可参考【14.级联选择器】章节的相关说明,本文不再重复展开。

🔹交互逻辑

1. 时间选择器加载交互事件

在选择器的加载交互事件中,需要统一完成5个时间选项列表的变量初始化工作。由于完整交互代码篇幅较长,此处仅截取展示年份选项列表的变量初始化内容作为示例。

各时间选项列表的变量初始化逻辑基本一致,可参照年份选项的配置规则类推。唯一需要注意的是“选项列表顶点位置”变量的计算公式,每个选项列表的该变量都需要结合当前时间动态计算,具体规则如下:

  • 年份选项

    本示例中,年份选项列表的首个选项值为1931年。

  • 月份选项

  • 日选项

  • 时选项

  • 分选项

2. 年份选项拖放交互事件

红框外的交互动作与“基础选择器”的处理逻辑完全一致,可直接复用,重点关注红框内的联动交互动作即可。

实现日期范围动态调整的最优方案为:在月份选项列表的中继器表格中预先填入大月的31天全量数据,后续通过中继器的过滤器功能动态控制展示的行数,即可快速适配大小月、闰年月的不同天数要求。

闰年判定规则为:年份能被4整除即为闰年。通过该规则判定选中年份的闰年属性后,给日选项列表的中继器添加对应的数据行数限制(28行或29行),即可实现闰年、非闰年场景下日期可选范围的动态控制。

3. 月份选项拖放交互事件

月份选项拖放交互事件的前半段逻辑(选项列表跟随移动、变量动态计算、位置校正定位)与年份选项完全一致,此处省略展示,仅呈现大小月与闰年2月的特殊处理逻辑。

该部分处理逻辑与年份选项的联动逻辑同源,均通过给日选项列表的中继器添加不同行数的过滤器限制,实现日期可选范围的动态调整。

4. 其余选项拖放交互事件

除年份、月份外,其余时间选项的拖放交互均为此类选择器组件的标准逻辑,如下图所示,需要实现三个核心动作:选项列表跟随鼠标移动、实时计算选项列表动态变量、滑动结束后自动校正选项列表的选中档位。

5. 确定按钮点击交互事件

最后一处需要自定义调整的节点为确定按钮的点击交互事件,需重点处理选中时间回填至输入框的格式规范,具体配置如下:

4️⃣要点总结

🔹时间选择器是级联选择器在时间选择场景的垂直应用,其基础结构与通用交互逻辑与级联选择器完全一致,核心差异仅在于年、月、日选项之间的联动交互规则。

🔹年、月、日的联动交互核心是适配大小月与闰年的日期范围变化。推荐实现方案为:在日选项列表的中继器中预先填入31天的全量数据,后续通过中继器的过滤功能动态限制展示的行数,即可高效实现不同月份、不同年份下的日期范围正确展示。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/29 19:50:08

鸣潮模组怎么装:WuWa-Mod 的 .pak 安装与配置,三步完成启动

鸣潮模组怎么装:WuWa-Mod 的 .pak 安装与配置,三步完成启动 【免费下载链接】wuwa-mod Wuthering Waves pak mods 项目地址: https://gitcode.com/GitHub_Trending/wu/wuwa-mod 日常任务里每个技能都要等冷却条,跑图时体力耗尽又得停下…

作者头像 李华
网站建设 2026/10/29 19:49:12

QuickLook 文件预览指南:按一次空格键,快速预览 100 多种格式

QuickLook 文件预览指南:按一次空格键,快速预览 100 多种格式 【免费下载链接】QuickLook Bring macOS “Quick Look” feature to Windows 项目地址: https://gitcode.com/gh_mirrors/qu/QuickLook QuickLook 把 macOS 的 Quick Look 功能带进了…

作者头像 李华
网站建设 2026/10/29 19:47:09

一条命令跑通二进制逆向:rea AI 逆向 CLI 终端实操指南

一条命令跑通二进制逆向:rea AI 逆向 CLI 终端实操指南 【免费下载链接】rea Reverse engineer anything with agents, from app behavior down to native binaries. 项目地址: https://gitcode.com/GitHub_Trending/rea2/rea 手头一个陌生的 ELF,或者一个解包后的 Elec…

作者头像 李华
网站建设 2026/10/29 19:42:46

Git - Linux离线安装

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华