# bee-datepicker

> DatePicker ui component for react

Latest version **2.3.12-nc.7** (published 2023-12-25) · MIT license · 0 weekly downloads

## Install

```sh
npm install bee-datepicker
pnpm add bee-datepicker
yarn add bee-datepicker
bun add bee-datepicker
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.3.12-nc.7 |
| Published | 2023-12-25 |
| First published | 2017-06-14 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=4.0.0 |
| Dependencies | 11 |
| Unpacked size | 8.9 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 5 |
| Author | Yonyou FED |
| Maintainers | duxue, jwangyangls, shaohlr, honely1314, xiaoshutong, yonyoufed, jonyw, guoyongfeng, kvkens, whizbz, npm_yx, bjyxszd, tinper-bot, houjitong, gaox2025f, gcht163, cnkvkens, diozhu, wangjings123, zhaoyuchief |
| Keywords | react, react-component, bee-datepicker, iuap-design, tinper-bee, DatePicker |

## Links

- npm: https://www.npmjs.com/package/bee-datepicker
- Repository: https://github.com/tinper-bee/bee-datepicker
- Issues: https://github.com/tinper-bee/bee-datepicker/issues
- npm.io page: https://npm.io/package/bee-datepicker

## Dependencies (11)

- [moment](https://npm.io/package/moment.md) ^2.17.1
- [omit.js](https://npm.io/package/omit.js.md) ^1.0.2
- [rc-util](https://npm.io/package/rc-util.md) ^4.1.1
- [bee-button](https://npm.io/package/bee-button.md) latest
- [classnames](https://npm.io/package/classnames.md) ^2.2.5
- [rc-trigger](https://npm.io/package/rc-trigger.md) ^2.2.0
- [rc-time-picker](https://npm.io/package/rc-time-picker.md) ^3.1.0
- [bee-input-group](https://npm.io/package/bee-input-group.md) latest
- [tinper-bee-core](https://npm.io/package/tinper-bee-core.md) latest
- [bee-form-control](https://npm.io/package/bee-form-control.md) latest
- [react-lifecycles-compat](https://npm.io/package/react-lifecycles-compat.md) ^3.0.4

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 2.3.12-nc.7 (latest) — 2023-12-25
- 2.4.12-yonui (yonui) — 2021-12-25
- 2.3.12-nc.6 (ncc202105) — 2021-06-23
- 2.4.0-yonui (mdf-datepicker) — 2021-04-26
- 2.4.5-beta.3 (ncc-datepicker) — 2021-04-26
- 2.0.16-ncc.4 (ncc1903) — 2021-03-09
- 2.0.16-ncc.1 (ncc201903) — 2021-03-09
- 2.4.5-beta.1 (datepicker-beta) — 2021-03-02
- 2.3.12-nc.5 (nc202102) — 2021-02-04
- 2.3.37-alpha.2 (alpha) — 2020-10-13
- 2.3.12-nc.3 (ncc) — 2020-09-27
- 3.0.0-mdf.2 (mdf) — 2019-09-25
- 2.2.7-beta.0 (beta) — 2019-08-26
- 2.4.13-yonui — 2022-01-06
- 2.4.11-yonui — 2021-12-03
- … 261 more at https://npm.io/package/bee-datepicker/versions

## README

# datepicker


[![npm version](https://img.shields.io/npm/v/bee-datepicker.svg)](https://www.npmjs.com/package/bee-datepicker)
[![Build Status](https://img.shields.io/travis/tinper-bee/bee-datepicker/master.svg)](https://travis-ci.org/tinper-bee/bee-datepicker)
[![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)
[![dependencies Status](https://david-dm.org/tinper-bee/bee-datepicker/status.svg)](https://david-dm.org/tinper-bee/bee-datepicker)
[![NPM downloads](http://img.shields.io/npm/dm/bee-datepicker.svg?style=flat)](https://npmjs.org/package/bee-datepicker)
[![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")
[![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")


react datepicker component for tinper-bee

可定制的日期组件

## 使用

### 使用单独的datepicker包
#### 组件引入
先进行下载bee-datepicker包
```
npm install --save bee-datepicker
```
组件调用
```js
import DatePicker from 'bee-datepicker';
ReactDOM.render(
        <DatePicker></DatePicker>
        , document.getElementById('target'));
```
#### 样式引入
- 可以使用link引入build目录下DatePicker.css
```
<link rel="stylesheet" href="./node_modules/bee-datepicker/build/DatePicker.css">
```
- 可以在js中import样式
```js
import "./node_modules/bee-datepicker/src/DatePicker.scss"
//或是
import "./node_modules/bee-datepicker/build/DatePicker.css"
```




## API

### DatePicker

|参数|说明|类型|默认值|
|:---|:-----|:----|:------|
|prefixCls|组件的前缀|String| - |
|className|添加节点的样式|String| - |
|dropdownClassName|添加下拉面板的样式|String| - |
|style|添加内联样式| Object| - |
|dateRender|日期表格|(current, value) => React.Node| - |
|renderSidebar|侧边栏|() => React.Node| - |
|renderFooter|扩展底边栏|() => React.Node| - |
| defaultValue|默认值，输入框的默认值| moment| - |
| value|日期| moment| - |
| locale|日历的语言 | Object |en_US |
| format|日期格式化| String | - |
| open|日期组件隐藏、显示| Boolean | false |
| disabled|是否禁用功能|Boolean| false |
| disabledDate |禁用的日期|Function(current:moment):Boolean| - |
| disabledTime |禁用的时间|Function(current:moment):Object| - |
| showDateInput|显示日期输入框|Boolean| true |
| showWeekNumber|是否显示周数| Boolean| false|
| showToday|是否显示今天| Boolean| true|
| showOk|底边栏是否显示ok按钮| Boolean | auto |
| onSelect|选择日期的回调函数|Function(date: moment)| - |
| onChange|日期改变的回调函数|Function(date: moment)| - |
| onOk|点击确定按钮的回调|Function(date: moment)| - |
| dateInputPlaceholder|日期的placeholder| String | - |
| showTime | 是否显示时间选择面板 | Boolean | - |
| renderIcon |更改默认的图标|Function| () => <Icon type="uf-calendar" />|
| closeIcon |鼠标划过清空内容的icon|Function| () => <Icon type="uf-close-c" />|
| getCalendarContainer |更改默认渲染位置|Function| - |
| keyboardInput |外层输入框是否支持键盘输入|Boolean|false|
| iconClick |日期按钮点击的回调|Function|-|
| outInputFocus |外层输入框获得焦点的回调|Function|-|
| outInputKeydown |外层输入框keydown回调|Function|-|



注：使用keyboardInput时，以下api变化

- 输入内容的格式需要个format格式相同，也可以有部分变化，变化范围参考 [moment.js](http://momentjs.cn/)。例如：format='YYYY-MM-DD' 输入 '19-1-1'也可识别
- 当输入日期格式无法转换为 moment 对象时，onChange,onClick回调内对应的moment参数值为 null


### MonthPicker

|参数|说明|类型|默认值|
|:---|:-----|:----|:------|
|prefixCls|组件的前缀|String|-|
|className|添加节点的样式|String| - |
|style|添加内联样式| Object| - |
| value |当前值，如输入框的值|moment| - |
| defaultValue|默认值，输入框的默认值| moment| - |
| locale|语言 | Object |en_US |
| disabledDate |禁用的日期|Function(current:moment):Boolean| - |
| onSelect|选择日期的回调函数|Function(date: moment)| - |
| onChange|日期改变的回调函数|Function(date: moment)| - |
| monthCellRender |月份的渲染方法| function | - |
| dateCellRender|日期的渲染方法|function| - |
| monthCellContentRender|自定义月份的渲染方法，将被添加渲染内容中| function| - |
| getCalendarContainer |更改默认渲染位置|Function| - |
| closeIcon |鼠标划过清空内容的icon|Function| () => <Icon type="uf-close-c" />|

### RangePicker

|参数|说明|类型|默认值|
|:---|:-----|:----|:------|
|prefixCls|组件的前缀|String| - |
|className|添加节点的样式|String| - |
|style|添加内联样式| Object| - |
|dateRender|日期表格|(current, value) => React.Node| - |
|renderSidebar|侧边栏|() => React.Node| - |
|renderFooter|扩展底边栏|() => React.Node| - |
| value|当前选中的区间|moment[]| - |
| defaultValue|默认选中的区间|	moment[]| - |
| locale|日历的语言 | Object |en_US |
| format|日期格式化| String | - |
| disabledDate |禁用的日期|Function(current:moment):Boolean| - |
| disabledTime |禁用的时间|Function(current:moment):Object| - |
| showDateInput|显示日期输入康|Boolean| true |
| showWeekNumber|是否显示周数| Boolean| false|
| showToday|是否显示今天| Boolean| true|
| showOk|底边栏是否显示ok按钮| Boolean | auto |
| showClear|是否显示清除按钮| Boolean|false|
| onSelect|选择日期的回调函数|Function(date: moment)| - |
| onChange|日期改变的回调函数|Function(date: moment)| - |
| dateInputPlaceholder|日期的placeholder| String | - |
| type|是否固定开始或结束选定的值|enum('both','start', 'end')| - |
| getCalendarContainer |更改默认渲染位置|Function| - |
| closeIcon |鼠标划过清空内容的icon|Function| () => <Icon type="uf-close-c" />|

### WeekPicker

|参数|说明|类型|默认值|
|:---|:-----|:----|:------|
| placeholder|输入框placeholder|String| - |
| defaultValue|默认值|moment| - |
| getCalendarContainer |更改默认渲染位置|Function| - |
| closeIcon |鼠标划过清空内容的icon|Function| () => <Icon type="uf-close-c" />|

### YearPicker

|参数|说明|类型|默认值|
|:---|:-----|:----|:------|
| placeholder |输入框placeholder|String| - |
| defaultValue|默认值|moment| 当前年 |
| getCalendarContainer |更改默认渲染位置|Function| - |
| format|日期格式化| String | - |
| disabled|是否禁用功能|Boolean| false |
| closeIcon |鼠标划过清空内容的icon|Function| () => <Icon type="uf-close-c" />|



## DatePicker 已支持的键盘操作

|按键|功能|
|:---|:----|
|↓(下箭) |打开面板|
|esc |关闭面板|
|delete |清除内容|

#### setup develop environment

```sh
$ npm install -g bee-tools
$ git clone https://github.com/tinper-bee/bee-datepicker.git
$ cd bee-datepicker
$ npm install
$ npm run dev
```

---
_Source: https://npm.io/package/bee-datepicker · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
