Input · TimePicker
TimePicker
Users can easily select a compliant, formatted point of time using the time selector.
Demos
How to import
Basic Usage
Click TimePicker, and then you can select or enter a time in the floating layer.
Infinite Scroll
Starting from version V2.22.0, we changed the default mode of ScrollItem in TimePicker from
wheel
to normal
. If you want to apply the effect of infinite scrolling back, please refer to the following example.With an Embedded Label
Controlled Component
When using
value
And not. defaultValue
When used as a controlled component.value
and onChange
It needs to be used in conjunction.Different Format
The columns in the TimePicker float will follow
format
Change, when omitted format
At some point, the corresponding column in the floating layer will also disappear.Set Panel Header and Footer
Disable Time Selection
Set Step Length
Available
Hour Step
, Minute Step
, Second Step
Show the optional minutes and seconds by step.12-hour System
12-hour time selector, default
format
for h:mm:ss a
, an incoming format
The format must be in dateFns date formatWithin range.For example, the default 12-hour format string is:a h:mm:ss
, if passed inA h:mm:ss
This will result in an inability to format correctly.
Time Range
Version: > = 0.23.0
Pass type = "timeRange" to enable time range selection.
Custom Trigger
By default we use the
Input
component as the trigger for the DatePicker
component. You can customize this trigger by passing the triggerRender
method.TimeZone Config
Semi All configuration about time zone is converged in ConfigProvider
API Reference
Parameters | Instructions | Type | Default | Version |
---|---|---|---|---|
autoAdjustOverflow | Whether the floating layer automatically adjusts its direction when it is blocked | boolean | true | |
autoFocus | Automatic access to focus | boolean | false | |
borderless | borderless mode >=2.33.0 | boolean | ||
className | Outer style name | string | ||
clearIcon | Can be used to customize the clear button, valid when showClear is true | ReactNode | 2.25.0 | |
clearText | Clear button prompt copy | string | Clear | |
defaultOpen | Whether the panel is open by default | boolean | ||
defaultValue | Default time | Date|timeStamp|string (array when type = "timeRange") | ||
disabled | Disable all operations | boolean | false | |
disabledHours | Prohibited selection of partial hour options | () => number [] | ||
disabledMinutes | Prohibited to select some minute options | (selectedHour: number) => number[] | ||
disabledSeconds | Unable to select partial second option | (selectedHour: number, selectedMinute: number) => number[] | ||
dropdownMargin | Popup layer calculates the size of the safe area when the current direction overflows, used in scenes covered by fixed elements, more detail refer to issue#549, same as Tooltip margin | object|number | 2.25.0 | |
focusOnOpen | Whether to open the panel and focus the input box when mounting | boolean | false | |
format | Time format of presentation | string | "HH: mm: ss." | |
getPopupContainer | Specifies the container and the floating layer will be rendered into the element, you need to set 'position: relative` This will change the DOM tree position, but not the view's rendering position. | () => HTMLElement | () => document.body | |
hideDisabledOptions | Hide the option of forbidden selection | boolean | false | |
hourStep | Hour option interval | number | 1 | |
inputReadOnly | Set the input box to read-only (avoid opening a virtual keyboard on a mobile device) | boolean | false | |
insetLabel | Prefix label, lower priority than prefix | string|ReactNode | ||
minuteStep | Minute option interval | number | 1 | |
motion | Whether to display the pop-up layer animation | boolean | true | |
open | Controlled property of whether the panel is open | boolean | ||
panelFooter | Addon at the bottom of the panel | ReactNode|ReactNode[]|string | ||
panelHeader | Panel head addon | ReactNode|ReactNode[]|string | ||
placeholder | What's displayed when it's not worth it. | string | "Select time" | |
popupClassName | Pop-up class name | string | '' | |
popupStyle | Pop-up layer style object | object | - | |
position | Floating position | string | type="timeRange" => "bottom" type="time" => "bottomLeft" | |
prefix | Prefix content | string|ReactNode | ||
preventScroll | Indicates whether the browser should scroll the document to display the newly focused element, acting on the focus method inside the component, excluding the component passed in by the user | boolean | ||
rangeSeparator | time range delimiter | string | "~" | |
scrollItemProps | The props passed through to ScrollItem. The optional values are the same as ScrollList#API | object | ||
secondStep | Second option interval | number | 1 | |
showClear | Whether to show the clear button | boolean | true | |
stopPropagation | Whether to prevent click events on the popup layer from bubbling | boolean | true | 2.49.0 |
size | Size of input box, one of 'default', 'small' and 'large' | string | 'default' | |
triggerRender | Custom trigger rendering method | ({ placeholder: string }) => ReactNode | ||
type | type | "time"|"timeRange" | "time" | |
use12Hours | Using a 12-hour system, format default to h: mm: ssa when true | boolean | false | |
value | Current time | Date|timeStamp|string (array when type = "timeRange") | ||
onBlur | Callback when focus is lost | (e: domEvent) => void | () => {} | |
onChange | A callback in time. | (time: Date|Date[], timeString: string|string[]) => void | ||
onChangeWithDateFirst | Set the order of parameter in onChange , true : (Date, string); false : (string, Date) | boolean | true | 2.4.0 |
onFocus | Callback when focus is obtained | (e: domEvent) => void | () => {} | |
onOpenChange | A callback when the panel is on / off | (isOpen: boolean) => void |
Methods
Some internal methods provided by TimePicker can be accessed through ref:
Name | Description |
---|---|
blur() | Remove focus |
focus() | Get the focus |
Content Guidelines
- The time selector includes at least hours and minutes, such as: 11:30, which can be adapted to 12-hour or 24-hour format during localization
- When 12-hour clock is selected, it needs to be used together with AM/PM