File tree Expand file tree Collapse file tree 2 files changed +18
-8
lines changed Expand file tree Collapse file tree 2 files changed +18
-8
lines changed Original file line number Diff line number Diff line change @@ -13,6 +13,11 @@ export default () => {
13
13
const [ value , setValue ] = React . useState < Moment | null > ( defaultValue ) ;
14
14
const weekRef = React . useRef < Picker < Moment > > ( null ) ;
15
15
16
+ const disabledDate = ( current ) => {
17
+ // Can not select days before today and today
18
+ return current && current <= moment ( ) . endOf ( 'day' ) ;
19
+ }
20
+
16
21
const onSelect = ( newValue : Moment ) => {
17
22
console . log ( 'Select:' , newValue ) ;
18
23
} ;
@@ -36,7 +41,7 @@ export default () => {
36
41
< div style = { { display : 'flex' , flexWrap : 'wrap' } } >
37
42
< div style = { { margin : '0 8px' } } >
38
43
< h3 > Basic</ h3 >
39
- < Picker < Moment > { ...sharedProps } locale = { zhCN } />
44
+ < Picker < Moment > { ...sharedProps } picker = "date" value = { undefined } disabledDate = { disabledDate } locale = { zhCN } />
40
45
< Picker < Moment > { ...sharedProps } locale = { enUS } />
41
46
</ div >
42
47
< div style = { { margin : '0 8px' } } >
@@ -103,7 +108,7 @@ export default () => {
103
108
</ div >
104
109
< div style = { { margin : '0 8px' } } >
105
110
< h3 > Week</ h3 >
106
- < Picker < Moment > generateConfig = { momentGenerateConfig } locale = { enUS } picker = "week" />
111
+ < Picker < Moment > disabledDate = { disabledDate } generateConfig = { momentGenerateConfig } locale = { enUS } picker = "week" />
107
112
</ div >
108
113
< div style = { { margin : '0 8px' } } >
109
114
< h3 > Quarter</ h3 >
Original file line number Diff line number Diff line change @@ -357,6 +357,12 @@ function InnerPicker<DateType>(props: PickerProps<DateType>) {
357
357
} ;
358
358
}
359
359
360
+ const [ hoverValue , onEnter , onLeave ] = useHoverValue ( text , {
361
+ formatList,
362
+ generateConfig,
363
+ locale,
364
+ } ) ;
365
+
360
366
// ============================= Panel =============================
361
367
const panelProps = {
362
368
// Remove `picker` & `format` here since TimePicker is little different with other panel
@@ -383,6 +389,11 @@ function InnerPicker<DateType>(props: PickerProps<DateType>) {
383
389
setSelectedValue ( date ) ;
384
390
} }
385
391
direction = { direction }
392
+ onPanelChange = { ( viewDate , mode ) => {
393
+ const { onPanelChange } = panelProps
394
+ onLeave ( true ) ;
395
+ onPanelChange ?.( viewDate , mode ) ;
396
+ } }
386
397
/>
387
398
) ;
388
399
@@ -445,12 +456,6 @@ function InnerPicker<DateType>(props: PickerProps<DateType>) {
445
456
} ;
446
457
const popupPlacement = direction === 'rtl' ? 'bottomRight' : 'bottomLeft' ;
447
458
448
- const [ hoverValue , onEnter , onLeave ] = useHoverValue ( text , {
449
- formatList,
450
- generateConfig,
451
- locale,
452
- } ) ;
453
-
454
459
return (
455
460
< PanelContext . Provider
456
461
value = { {
You can’t perform that action at this time.
0 commit comments