Skip to content

Commit e5924c2

Browse files
committed
fix(TimePicker): support format HH
1 parent d605a92 commit e5924c2

File tree

6 files changed

+31
-13
lines changed

6 files changed

+31
-13
lines changed

docs/time-picker/demo/format.md

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ You can control the time format by `format`, it will also effect the display of
1919
import { TimePicker } from '@alifd/next';
2020

2121
ReactDOM.render(<div>
22+
<TimePicker format="HH" />
2223
<p>Hide seconds</p>
2324
<TimePicker format="HH:mm" />
2425
<p>Hide hours</p>

src/date-picker/date-picker.jsx

+2
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,7 @@ export default class DatePicker extends Component {
579579
const timePanelProps = typeof showTime === 'object' ? showTime : {};
580580

581581
const showSecond = this.timeFormat.indexOf('s') > -1;
582+
const showMinute = this.timeFormat.indexOf('m') > -1;
582583

583584
const panelTimeInputCls = classnames({
584585
[`${prefix}date-picker-panel-input`]: true,
@@ -607,6 +608,7 @@ export default class DatePicker extends Component {
607608
locale={locale}
608609
className={`${prefix}date-picker-panel-time`}
609610
showSecond={showSecond}
611+
showMinute={showMinute}
610612
disabled={disabled}
611613
prefix={prefix}
612614
value={value}

src/date-picker/range-picker.jsx

+2
Original file line numberDiff line numberDiff line change
@@ -885,13 +885,15 @@ export default class RangePicker extends Component {
885885
);
886886

887887
const showSecond = this.timeFormat.indexOf('s') > -1;
888+
const showMinute = this.timeFormat.indexOf('m') > -1;
888889

889890
const sharedTimePickerProps = {
890891
...showTime,
891892
prefix,
892893
locale,
893894
disabled,
894895
showSecond,
896+
showMinute,
895897
};
896898

897899
const disabledTime = this.getDisabledTime(state);

src/time-picker/panel.jsx

+19-13
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ class TimePickerPanel extends Component {
2020
* 是否显示小时
2121
*/
2222
showHour: PropTypes.bool,
23+
/**
24+
* 是否显示分钟
25+
*/
26+
showMinute: PropTypes.bool,
2327
/**
2428
* 是否显示秒
2529
*/
@@ -80,6 +84,7 @@ class TimePickerPanel extends Component {
8084
prefix: 'next-',
8185
showHour: true,
8286
showSecond: true,
87+
showMinute: true,
8388
disabledHours: noop,
8489
disabledMinutes: noop,
8590
disabledSeconds: noop,
@@ -115,6 +120,7 @@ class TimePickerPanel extends Component {
115120
className,
116121
disabled,
117122
showHour,
123+
showMinute,
118124
showSecond,
119125
hourStep,
120126
minuteStep,
@@ -126,12 +132,10 @@ class TimePickerPanel extends Component {
126132
...others
127133
} = this.props;
128134

135+
const colLen = [showHour, showMinute, showSecond].filter(v => v).length;
129136
const classNames = classnames(
130-
{
131-
[`${prefix}time-picker-panel`]: true,
132-
[`${prefix}time-picker-panel-col-3`]: showHour && showSecond,
133-
[`${prefix}time-picker-panel-col-2`]: !showHour || !showSecond,
134-
},
137+
`${prefix}time-picker-panel`,
138+
`${prefix}time-picker-panel-col-${colLen}`,
135139
className
136140
);
137141

@@ -165,14 +169,16 @@ class TimePickerPanel extends Component {
165169
disabledItems={disabledHours}
166170
/>
167171
) : null}
168-
<TimeMenu
169-
{...commonProps}
170-
activeIndex={activeMinute}
171-
title={locale.minute}
172-
mode="minute"
173-
step={minuteStep}
174-
disabledItems={disabledMinutes}
175-
/>
172+
{showMinute ? (
173+
<TimeMenu
174+
{...commonProps}
175+
activeIndex={activeMinute}
176+
title={locale.minute}
177+
mode="minute"
178+
step={minuteStep}
179+
disabledItems={disabledMinutes}
180+
/>
181+
) : null}
176182
{showSecond ? (
177183
<TimeMenu
178184
{...commonProps}

src/time-picker/scss/panel.scss

+6
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,10 @@
2424
width: 50%;
2525
}
2626
}
27+
28+
&-col-1 {
29+
#{$time-picker-prefix}-menu {
30+
width: 100%;
31+
}
32+
}
2733
}

src/time-picker/time-picker.jsx

+1
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,7 @@ export default class TimePicker extends Component {
388388
disabled,
389389
showHour: format.indexOf('H') > -1,
390390
showSecond: format.indexOf('s') > -1,
391+
showMinute: format.indexOf('m') > -1,
391392
hourStep,
392393
minuteStep,
393394
secondStep,

0 commit comments

Comments
 (0)