| value | moment | null | current value |
| placeholder | String | '' | time input's placeholder |
| showHour | Boolean | whether show hour | |
+| showMinute | Boolean | whether show minute | |
| showSecond | Boolean | whether show second | |
| format | String | | |
| disabledHours | Function | disabled hour options | |
--- /dev/null
+import 'rc-time-picker/assets/index.less';
+import React from 'react';
+import ReactDom from 'react-dom';
+import moment from 'moment';
+import TimePicker from 'rc-time-picker';
+
+const App = React.createClass({
+ render() {
+ return (
+ <div>
+ <TimePicker defaultValue={moment()} showHour={false} />
+ <TimePicker defaultValue={moment()} showMinute={false} />
+ <TimePicker defaultValue={moment()} showSecond={false} />
+
+ <TimePicker defaultValue={moment()} showMinute={false} showSecond={false} />
+ <TimePicker defaultValue={moment()} showHour={false} showSecond={false}/>
+ <TimePicker defaultValue={moment()} showHour={false} showMinute={false} />
+ </div>
+ );
+ },
+});
+
+ReactDom.render(
+ <App />,
+ document.getElementById('__react-content')
+);
value: PropTypes.object,
onChange: PropTypes.func,
showHour: PropTypes.bool,
+ showMinute: PropTypes.bool,
showSecond: PropTypes.bool,
hourOptions: PropTypes.array,
minuteOptions: PropTypes.array,
},
getMinuteSelect(minute) {
- const { prefixCls, minuteOptions, disabledMinutes, defaultOpenValue } = this.props;
+ const { prefixCls, minuteOptions, disabledMinutes, defaultOpenValue, showMinute } = this.props;
+ if (!showMinute) {
+ return null;
+ }
const value = this.props.value || defaultOpenValue;
const disabledOptions = disabledMinutes(value.hour());
onEsc: PropTypes.func,
allowEmpty: PropTypes.bool,
showHour: PropTypes.bool,
+ showMinute: PropTypes.bool,
showSecond: PropTypes.bool,
onClear: PropTypes.func,
addon: PropTypes.func,
render() {
const {
prefixCls, className, placeholder, disabledHours, disabledMinutes,
- disabledSeconds, hideDisabledOptions, allowEmpty, showHour, showSecond,
+ disabledSeconds, hideDisabledOptions, allowEmpty, showHour, showMinute, showSecond,
format, defaultOpenValue, clearText, onEsc, addon,
} = this.props;
const {
format={format}
onChange={this.onChange}
showHour={showHour}
+ showMinute={showMinute}
showSecond={showSecond}
hourOptions={hourOptions}
minuteOptions={minuteOptions}
placeholder: PropTypes.string,
format: PropTypes.string,
showHour: PropTypes.bool,
+ showMinute: PropTypes.bool,
showSecond: PropTypes.bool,
style: PropTypes.object,
className: PropTypes.string,
defaultOpenValue: moment(),
allowEmpty: true,
showHour: true,
+ showMinute: true,
showSecond: true,
disabledHours: noop,
disabledMinutes: noop,
},
getFormat() {
- const format = this.props.format;
+ const { format, showHour, showMinute, showSecond } = this.props;
if (format) {
return format;
}
- if (!this.props.showSecond) {
- return 'HH:mm';
- }
- if (!this.props.showHour) {
- return 'mm:ss';
- }
- return 'HH:mm:ss';
+ return [
+ showHour ? 'HH' : '',
+ showMinute ? 'mm' : '',
+ showSecond ? 'ss' : '',
+ ].filter(item => !!item).join(':');
},
getPanelElement() {
const {
prefixCls, placeholder, disabledHours,
disabledMinutes, disabledSeconds, hideDisabledOptions,
- allowEmpty, showHour, showSecond, defaultOpenValue, clearText,
+ allowEmpty, showHour, showMinute, showSecond, defaultOpenValue, clearText,
addon,
} = this.props;
return (
onClear={this.onPanelClear}
defaultOpenValue={defaultOpenValue}
showHour={showHour}
+ showMinute={showMinute}
showSecond={showSecond}
onEsc={this.onEsc}
allowEmpty={allowEmpty}