# xy-time-picker

> 基于 React Hooks 的时间选择器组件

Latest version **0.2.0** (published 2019-12-30) · MIT license · 0 weekly downloads

## Install

```sh
npm install xy-time-picker
pnpm add xy-time-picker
yarn add xy-time-picker
bun add xy-time-picker
```

## Health

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

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.0 |
| Published | 2019-12-30 |
| First published | 2019-05-11 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 10 |
| Unpacked size | 62.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | XueYou |
| Maintainers | xueyou2000 |
| Keywords | react, react-component, xy-time-picker |

## Links

- npm: https://www.npmjs.com/package/xy-time-picker
- Repository: https://github.com/xueyou2000/xy-time-picker
- Homepage: https://github.com/xueyou2000/xy-time-picker#readme
- Issues: https://github.com/xueyou2000/xy-time-picker/issues
- npm.io page: https://npm.io/package/xy-time-picker

## Dependencies (10)

- [react](https://npm.io/package/react.md) ^16.12.0
- [xy-input](https://npm.io/package/xy-input.md) ^0.1.0
- [react-dom](https://npm.io/package/react-dom.md) ^16.12.0
- [utils-dom](https://npm.io/package/utils-dom.md) ^0.0.70
- [classnames](https://npm.io/package/classnames.md) ^2.2.6
- [xy-trigger](https://npm.io/package/xy-trigger.md) ^0.1.0
- [utils-hooks](https://npm.io/package/utils-hooks.md) ^0.0.75
- [@fortawesome/react-fontawesome](https://npm.io/package/@fortawesome/react-fontawesome.md) ^0.1.7
- [@fortawesome/free-solid-svg-icons](https://npm.io/package/@fortawesome/free-solid-svg-icons.md) ^5.11.2
- [@fortawesome/free-regular-svg-icons](https://npm.io/package/@fortawesome/free-regular-svg-icons.md) ^5.11.2

## 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

- 0.2.0 (latest) — 2019-12-30
- 0.1.0 — 2019-11-19
- 0.0.63 — 2019-09-04
- 0.0.62 — 2019-05-30
- 0.0.61 — 2019-05-15
- 0.0.6 — 2019-05-15
- 0.0.5 — 2019-05-15
- 0.0.4 — 2019-05-13
- 0.0.3 — 2019-05-13
- 0.0.2 — 2019-05-11

## README

| ![IE](https://github.com/alrra/browser-logos/blob/master/src/edge/edge_48x48.png?raw=true) | ![Chrome](https://github.com/alrra/browser-logos/blob/master/src/chrome/chrome_48x48.png?raw=true) | ![Firefox](https://github.com/alrra/browser-logos/blob/master/src/firefox/firefox_48x48.png?raw=true) | ![Opera](https://github.com/alrra/browser-logos/blob/master/src/opera/opera_48x48.png?raw=true) | ![Safari](https://github.com/alrra/browser-logos/blob/master/src/safari/safari_48x48.png?raw=true) |
| ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| IE 10+ ✔                                                                                   | Chrome 31.0+ ✔                                                                                     | Firefox 31.0+ ✔                                                                                       | Opera 30.0+ ✔                                                                                   | Safari 7.0+ ✔                                                                                      |

![NPM version](http://img.shields.io/npm/v/xy-time-picker.svg?style=flat-square)
![node version](https://img.shields.io/badge/node.js-%3E=_0.10-green.svg?style=flat-square)
![npm download](https://img.shields.io/npm/dm/xy-time-picker.svg?style=flat-square)

[![xy-time-picker](https://nodei.co/npm/xy-time-picker.png)](https://npmjs.org/package/xy-time-picker)

# xy-time-picker

时间选择器组件

## 安装

```bash
# yarn
yarn add xy-time-picker
```

## 使用例子

```tsx
import React from "react";
import ReactDOM from "react-dom";
import { TimePicker, TimePickerPanel, PickerNumber, PickerCombobox } from "xy-time-picker";
ReactDOM.render(<TimePicker />, container);
```

## API

### TimePicker

> 其他属性均与`TimePickerPanel`相同

| 属性            | 说明                 | 类型                       | 默认值 |
| --------------- | -------------------- | -------------------------- | ------ |
| visible         | 是否显示下拉面板     | boolean                    | false  |
| defaultVisible  | 默认是否显示下拉面板 | boolean                    | false  |
| onVisibleChange | 改变事件             | (visible: boolean) => void | -      |

### TimePickerPanel

> 其他属性均与`PickerCombobox`相同

| 属性        | 说明               | 类型                                                                | 默认值 |
| ----------- | ------------------ | ------------------------------------------------------------------- | ------ |
| addon       | 底部附加内容       | React.ReactNode                                                     | -      |
| onChange    | 时间改变           | (time: string) => void                                              | -      |
| placeholder | 输入框占位符       | string                                                              | -      |
| disabled    | 是否禁用           | boolean                                                             | false  |
| onFocus     | 输入框焦点事件     | (e: React.FocusEvent<HTMLInputElement,HTMLTextAreaElement>) => void | -      |
| onBlur      | 输入框失去焦点事件 | (e: React.FocusEvent<HTMLInputElement,HTMLTextAreaElement>) => void | -      |

### PickerCombobox

> 其他属性均与`PickerCombobox`相同

| 属性               | 说明                                       | 类型                                                      | 默认值     |
| ------------------ | ------------------------------------------ | --------------------------------------------------------- | ---------- |
| value              | 当前时间字符串(时分秒)                     | string                                                    | -          |
| defaultValue       | 默认时间字符串(时分秒)                     | string                                                    | -          |
| onPicker           | onPicker 事件                              | (value: string, hourSystem: number) => void               | -          |
| hourSystem         | 小时制,0=24 小时制, 1=12 小时制            | number                                                    | 0          |
| defaultHourSystem  | 默认小时制,0=24 小时制, 1=12 小时制        | number                                                    | 0          |
| onHourSystemChange | 小时制改变                                 | (hourSystem: number) => void                              | -          |
| format             | 展示的时间格式,可选值为 `HH:mm:ss` `HH:mm` | string                                                    | `HH:mm:ss` |
| hourStep           | 小时步长间隔                               | number                                                    | 1          |
| minuteStep         | 分钟步长间隔                               | number                                                    | 1          |
| secondStep         | 秒步长间隔                                 | number                                                    | 1          |
| showHourSystem     | 是否显示小时制控制                         | boolean                                                   | false      |
| disabledHours      | 禁用小时部分                               | () => boolean                                             | -          |
| disabledMinutes    | 禁用分钟部分                               | (selectedHour: number) => boolean                         | -          |
| disabledSeconds    | 禁用秒部分                                 | (selectedHour: number, selectedMinute: number) => boolean | -          |

## 开发

```sh
yarn run start
```

## 例子

http://localhost:6006

## 测试

```
yarn run test
```

## 开源许可

xy-time-picker is released under the MIT license.

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