1 | # datepicker
|
2 |
|
3 |
|
4 | [![npm version](https://img.shields.io/npm/v/bee-datepicker.svg)](https://www.npmjs.com/package/bee-datepicker)
|
5 | [![Build Status](https://img.shields.io/travis/tinper-bee/bee-datepicker/master.svg)](https://travis-ci.org/tinper-bee/bee-datepicker)
|
6 | [![Coverage Status](https://coveralls.io/repos/github/tinper-bee/bee-datepicker/badge.svg?branch=master)](https://coveralls.io/github/tinper-bee/bee-datepicker?branch=master)
|
7 | [![dependencies Status](https://david-dm.org/tinper-bee/bee-datepicker/status.svg)](https://david-dm.org/tinper-bee/bee-datepicker)
|
8 | [![NPM downloads](http://img.shields.io/npm/dm/bee-datepicker.svg?style=flat)](https://npmjs.org/package/bee-datepicker)
|
9 | [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/tinper-bee/bee-datepicker.svg)](http://isitmaintained.com/project/tinper-bee/bee-datepicker "Average time to resolve an issue")
|
10 | [![Percentage of issues still open](http://isitmaintained.com/badge/open/tinper-bee/bee-datepicker.svg)](http://isitmaintained.com/project/tinper-bee/bee-datepicker "Percentage of issues still open")
|
11 |
|
12 |
|
13 | react datepicker component for tinper-bee
|
14 |
|
15 | 可定制的日期组件
|
16 |
|
17 | ## 使用
|
18 |
|
19 | ### 使用单独的datepicker包
|
20 | #### 组件引入
|
21 | 先进行下载bee-datepicker包
|
22 | ```
|
23 | npm install --save bee-datepicker
|
24 | ```
|
25 | 组件调用
|
26 | ```js
|
27 | import DatePicker from 'bee-datepicker';
|
28 | ReactDOM.render(
|
29 | <DatePicker></DatePicker>
|
30 | , document.getElementById('target'));
|
31 | ```
|
32 | #### 样式引入
|
33 | - 可以使用link引入build目录下DatePicker.css
|
34 | ```
|
35 | <link rel="stylesheet" href="./node_modules/bee-datepicker/build/DatePicker.css">
|
36 | ```
|
37 | - 可以在js中import样式
|
38 | ```js
|
39 | import "./node_modules/bee-datepicker/src/DatePicker.scss"
|
40 | //或是
|
41 | import "./node_modules/bee-datepicker/build/DatePicker.css"
|
42 | ```
|
43 |
|
44 |
|
45 |
|
46 |
|
47 | ## API
|
48 |
|
49 | ### DatePicker
|
50 |
|
51 | |参数|说明|类型|默认值|
|
52 | |:---|:-----|:----|:------|
|
53 | |prefixCls|组件的前缀|String| - |
|
54 | |className|添加节点的样式|String| - |
|
55 | |dropdownClassName|添加下拉面板的样式|String| - |
|
56 | |style|添加内联样式| Object| - |
|
57 | |dateRender|日期表格|(current, value) => React.Node| - |
|
58 | |renderSidebar|侧边栏|() => React.Node| - |
|
59 | |renderFooter|扩展底边栏|() => React.Node| - |
|
60 | | defaultValue|默认值,输入框的默认值| moment| - |
|
61 | | value|日期| moment| - |
|
62 | | locale|日历的语言 | Object |en_US |
|
63 | | format|日期格式化| String | - |
|
64 | | open|日期组件隐藏、显示| Boolean | false |
|
65 | | disabled|是否禁用功能|Boolean| false |
|
66 | | disabledDate |禁用的日期|Function(current:moment):Boolean| - |
|
67 | | disabledTime |禁用的时间|Function(current:moment):Object| - |
|
68 | | showDateInput|显示日期输入框|Boolean| true |
|
69 | | showWeekNumber|是否显示周数| Boolean| false|
|
70 | | showToday|是否显示今天| Boolean| true|
|
71 | | showOk|底边栏是否显示ok按钮| Boolean | auto |
|
72 | | onSelect|选择日期的回调函数|Function(date: moment)| - |
|
73 | | onChange|日期改变的回调函数|Function(date: moment)| - |
|
74 | | onOk|点击确定按钮的回调|Function(date: moment)| - |
|
75 | | dateInputPlaceholder|日期的placeholder| String | - |
|
76 | | showTime | 是否显示时间选择面板 | Boolean | - |
|
77 | | renderIcon |更改默认的图标|Function| () => <Icon type="uf-calendar" />|
|
78 | | closeIcon |鼠标划过清空内容的icon|Function| () => <Icon type="uf-close-c" />|
|
79 | | getCalendarContainer |更改默认渲染位置|Function| - |
|
80 | | keyboardInput |外层输入框是否支持键盘输入|Boolean|false|
|
81 | | iconClick |日期按钮点击的回调|Function|-|
|
82 | | outInputFocus |外层输入框获得焦点的回调|Function|-|
|
83 | | outInputKeydown |外层输入框keydown回调|Function|-|
|
84 |
|
85 |
|
86 |
|
87 | 注:使用keyboardInput时,以下api变化
|
88 |
|
89 | - 输入内容的格式需要个format格式相同,也可以有部分变化,变化范围参考 [moment.js](http://momentjs.cn/)。例如:format='YYYY-MM-DD' 输入 '19-1-1'也可识别
|
90 | - 当输入日期格式无法转换为 moment 对象时,onChange,onClick回调内对应的moment参数值为 null
|
91 |
|
92 |
|
93 | ### MonthPicker
|
94 |
|
95 | |参数|说明|类型|默认值|
|
96 | |:---|:-----|:----|:------|
|
97 | |prefixCls|组件的前缀|String|-|
|
98 | |className|添加节点的样式|String| - |
|
99 | |style|添加内联样式| Object| - |
|
100 | | value |当前值,如输入框的值|moment| - |
|
101 | | defaultValue|默认值,输入框的默认值| moment| - |
|
102 | | locale|语言 | Object |en_US |
|
103 | | disabledDate |禁用的日期|Function(current:moment):Boolean| - |
|
104 | | onSelect|选择日期的回调函数|Function(date: moment)| - |
|
105 | | onChange|日期改变的回调函数|Function(date: moment)| - |
|
106 | | monthCellRender |月份的渲染方法| function | - |
|
107 | | dateCellRender|日期的渲染方法|function| - |
|
108 | | monthCellContentRender|自定义月份的渲染方法,将被添加渲染内容中| function| - |
|
109 | | getCalendarContainer |更改默认渲染位置|Function| - |
|
110 | | closeIcon |鼠标划过清空内容的icon|Function| () => <Icon type="uf-close-c" />|
|
111 |
|
112 | ### RangePicker
|
113 |
|
114 | |参数|说明|类型|默认值|
|
115 | |:---|:-----|:----|:------|
|
116 | |prefixCls|组件的前缀|String| - |
|
117 | |className|添加节点的样式|String| - |
|
118 | |style|添加内联样式| Object| - |
|
119 | |dateRender|日期表格|(current, value) => React.Node| - |
|
120 | |renderSidebar|侧边栏|() => React.Node| - |
|
121 | |renderFooter|扩展底边栏|() => React.Node| - |
|
122 | | value|当前选中的区间|moment[]| - |
|
123 | | defaultValue|默认选中的区间| moment[]| - |
|
124 | | locale|日历的语言 | Object |en_US |
|
125 | | format|日期格式化| String | - |
|
126 | | disabledDate |禁用的日期|Function(current:moment):Boolean| - |
|
127 | | disabledTime |禁用的时间|Function(current:moment):Object| - |
|
128 | | showDateInput|显示日期输入康|Boolean| true |
|
129 | | showWeekNumber|是否显示周数| Boolean| false|
|
130 | | showToday|是否显示今天| Boolean| true|
|
131 | | showOk|底边栏是否显示ok按钮| Boolean | auto |
|
132 | | showClear|是否显示清除按钮| Boolean|false|
|
133 | | onSelect|选择日期的回调函数|Function(date: moment)| - |
|
134 | | onChange|日期改变的回调函数|Function(date: moment)| - |
|
135 | | dateInputPlaceholder|日期的placeholder| String | - |
|
136 | | type|是否固定开始或结束选定的值|enum('both','start', 'end')| - |
|
137 | | getCalendarContainer |更改默认渲染位置|Function| - |
|
138 | | closeIcon |鼠标划过清空内容的icon|Function| () => <Icon type="uf-close-c" />|
|
139 |
|
140 | ### WeekPicker
|
141 |
|
142 | |参数|说明|类型|默认值|
|
143 | |:---|:-----|:----|:------|
|
144 | | placeholder|输入框placeholder|String| - |
|
145 | | defaultValue|默认值|moment| - |
|
146 | | getCalendarContainer |更改默认渲染位置|Function| - |
|
147 | | closeIcon |鼠标划过清空内容的icon|Function| () => <Icon type="uf-close-c" />|
|
148 |
|
149 | ### YearPicker
|
150 |
|
151 | |参数|说明|类型|默认值|
|
152 | |:---|:-----|:----|:------|
|
153 | | placeholder |输入框placeholder|String| - |
|
154 | | defaultValue|默认值|moment| 当前年 |
|
155 | | getCalendarContainer |更改默认渲染位置|Function| - |
|
156 | | format|日期格式化| String | - |
|
157 | | disabled|是否禁用功能|Boolean| false |
|
158 | | closeIcon |鼠标划过清空内容的icon|Function| () => <Icon type="uf-close-c" />|
|
159 |
|
160 |
|
161 |
|
162 | ## DatePicker 已支持的键盘操作
|
163 |
|
164 | |按键|功能|
|
165 | |:---|:----|
|
166 | |↓(下箭) |打开面板|
|
167 | |esc |关闭面板|
|
168 | |delete |清除内容|
|
169 |
|
170 | #### setup develop environment
|
171 |
|
172 | ```sh
|
173 | $ npm install -g bee-tools
|
174 | $ git clone https://github.com/tinper-bee/bee-datepicker.git
|
175 | $ cd bee-datepicker
|
176 | $ npm install
|
177 | $ npm run dev
|
178 | ```
|
179 |
|