关于时间控件实现

一. 图例

 思路:

 关于粒度控制设置为 realtime hour day month year

关于选择响应设置为 input[type=radio]

关于展现设置为 input[type=text]

关于提交自然是input[type=button]

设计思绪

  1. 可以自己设置是否显示某个粒度。

  2. 可以自动选中某个粒度。

  3. 可以支持提交事件。

  4. 可以方便获取时间结果。

分析

  1. 要求提供接口 所以要分离模块 realtime hour day month year 分开模块处理 

  2. 创建各个 radio 并设置对应关系。

  3. 由于要控制事件对应 于是针对不同粒度做事件回调的对应表

      {

        "realtime": function(){

        },

        "hour": function(){

        },

        "day": function(){

        },

        "month": function(){

        },

        "year": function(){

        }

      }

  4. 把所有的数据 聚焦INPUT 我们的数据都是 针对input[type=text] 来展现 那么 数据也存上面吧。(是做了cache而已 不是真的存上面 做了对应表)

  5. 对提交的callback进行自己的再处理 这样可以实现更加强大的功能 方便提供参数 。

  6. 把每个模块针对性的对应 realtime 隐藏后面的input[type=text] 

    hour,day,month,year 分别逐步筛选掉的 小时选项 天选项 月选项 年选项

  7. 有了对应 只要控制是显示还是隐藏就够了。

  ……

完成上面的所有 你还会惧怕写几行代码啊? 从设计 到实现SO EASY!

posted @   AlfredLee  阅读(254)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示