基于Taro实现的时间选择器
由于小程序中的picker只支持date/time等类型的通用选择,而像“今天 10点 30分”这样的更加方便选择的格式需要自行定义,故本项目基于pickerView、pickerViewColumn来自定义了一个选择器用于日期和时间在用一个组件中选择完成。项目使用taro框架,也可实现类似微信提醒的时间选择器
简介
大多数的时间选择不需要精确到分钟数的个位数字(例如23分),本项目可对当前的时间取到下一个十分(例如20分、30分),同时还支持从一个时间列表中选取某几个时间点:例如6点、12点、18点。
大多数的其他选择器没有调整好类似微信的确认和取消按钮,为了达到基本和微信的选择器体验一致,本项目也实现了确认和取消的按钮,并通过props和父组件交互
最新的版本组件利用了day.js来代替moment-mini,得益于day.js,将原来的75KB大小的日期处理库降为了2KB的大小。
组件利用了moment这个日期处理类库的部分特性来让代码更加简洁和稳定,为了保持小程序包的体积尽量小,组件import了moment-mini这个npm包,
当你调用onInitial和onConfirm时,可通过指定mode来获得返回时间的数据格式
如何使用
可参考src/pages/index/index.jsx的使用方法
dateTime的使用:
dataTime参数是多个对象元素的数组,每个对象可支持如下参数选择:
mode: ['