DatePicker 日期选择

定义/Definition

日期时间选择器展示关于日期和时间的组件,比如小时,分钟,天,以及年。使用日期时间选择器来让用户选择时间,而不是让用户自己输入一个包含了日期、时间等多个部分的时间值。

规则 / Rule

  • 最多可以展示5个独立的滑轮,每一个滑轮表示一个不同的值,比如月份或小时等;

  • 在每个滑轮的中央使用深色字体来表示当前选中的值;

  • 日期时间选择器的大小与iPhone键盘的大小相同,并且不可更改。

代码演示

基本

日期时间选择示例

  1. import { DatePicker, List } from 'antd-mobile';
  2. import { createForm } from 'rc-form';
  3. import moment from 'moment';
  4. import enUs from 'antd-mobile/components/date-picker/locale/en_US';
  5. let Test = React.createClass({
  6. render() {
  7. const { getFieldProps } = this.props.form;
  8. const now = moment();
  9. now.locale('en-gb').utcOffset(0);
  10. return (<div>
  11. <List>
  12. <List.Header>选择时间</List.Header>
  13. <List.Body>
  14. <DatePicker
  15. className="am-date-picker"
  16. mode="date"
  17. title="选择日期"
  18. extra="可选,小于结束日期"
  19. {...getFieldProps('date1', {
  20. initialValue: (this.date1 || (this.date1 = moment('2015-08-06', 'YYYY-MM-DD'))),
  21. })}
  22. minDate={this.date1MinDate || (this.date1MinDate = moment('2015-08-06', 'YYYY-MM-DD'))}
  23. maxDate={this.date1MaxDate || (this.date1MaxDate = moment('2016-12-03', 'YYYY-MM-DD'))}
  24. >
  25. <List.Item arrow="horizontal">日期</List.Item>
  26. </DatePicker>
  27. <DatePicker mode="time" {...getFieldProps('time1')}>
  28. <List.Item arrow="horizontal">时间,不限定上下限</List.Item>
  29. </DatePicker>
  30. <DatePicker mode="time" {...getFieldProps('time')}
  31. minDate={this.timeMinDate || (this.timeMinDate = moment('00:30', 'HH:mm'))}
  32. maxDate={this.timeMaxDate || (this.timeMaxDate = moment('22:00', 'HH:mm'))}
  33. >
  34. <List.Item arrow="horizontal">时间</List.Item>
  35. </DatePicker>
  36. <DatePicker
  37. mode="datetime"
  38. {...getFieldProps('datetime')}
  39. >
  40. <List.Item arrow="horizontal">日期+时间</List.Item>
  41. </DatePicker>
  42. <DatePicker
  43. mode="datetime"
  44. format={val => val.format('YYYY-MM-DD + HH:mm')}
  45. okText="Ok"
  46. dismissText="Cancel"
  47. locale={enUs}
  48. {...getFieldProps('customformat', {
  49. initialValue: now,
  50. })}
  51. >
  52. <List.Item arrow="horizontal">datetime(en_US)</List.Item>
  53. </DatePicker>
  54. </List.Body>
  55. </List>
  56. </div>);
  57. },
  58. });
  59. Test = createForm()(Test);
  60. ReactDOM.render(<Test />, mountNode);

DatePicker日期选择 - 图1

API

成员说明类型默认值
mode日期选择的类型,可以是日期date、时间time、日期+时间datetimeStringdate
value当前选中时间,各种mode下格式分别为:yyyy-MM-ddHH:mmyyyy-MM-dd HH:mmmoment
minDate最小可选日期,格式同valuemoment-
maxDate最大可选日期,格式同valuemoment-
onChange时间发生变化的回调function(date)
locale国际化配置 (可自行构造,结构为 {year, month, day, hour, minute})ObjectDatePicker.locale.zh_CN
okText选中的文案String确定
dismissText取消选中的文案String取消
title弹框的标题String
format格式化选中的值(value:moment) => string/string(val) => { return val; }
extraChildren如果是List.Item,则是extra属性的默认值, 如果是其它的UI组件,则value或者extra属性会经过format方法处理后传给children的extra属性,用户需要自己实现这个属性String请选择
style自定义内联样式Object{}