Skip to content

Commit

Permalink
fix: fix bug sometimes scroll to selected item don't work
Browse files Browse the repository at this point in the history
  • Loading branch information
aliakbarazizi committed Jul 17, 2023
1 parent b461265 commit 8b9e21c
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 3 deletions.
2 changes: 1 addition & 1 deletion src/components/datepicker/items/Items.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ export const Items = forwardRef(
useScrollIntoItemIfNeeded(
disableAutoScroll !== true &&
picker !== undefined &&
picker.isOpen &&
(picker.alwaysOpen === true || picker.isOpen) &&
['year', 'hour', 'minute'].includes(type),
type,
type !== 'day' ? state[type] : undefined,
Expand Down
5 changes: 3 additions & 2 deletions src/components/datepicker/picker/Picker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ export const Picker = forwardRef(
const { state, slot, dispatch } = useDatepickerSlot();

const defaultType = useRef(_defaultType);
const defaultOpen = useRef(alwaysOpen || _defaultOpen);
const defaultOpen = useRef(_defaultOpen);

useEffect(() => {
dispatch({
Expand All @@ -135,10 +135,11 @@ export const Picker = forwardRef(
nestedLevel: nestedLevel + 1,
defaultType: defaultType.current,
defaultOpen: defaultOpen.current,
alwaysOpen,
},
});
return () => dispatch({ type: 'unregisterPicker', payload: pickerId });
}, [dispatch, pickerId, nestedLevel]);
}, [dispatch, pickerId, nestedLevel, alwaysOpen]);

const pickerState = state.pickers[pickerId];

Expand Down
3 changes: 3 additions & 0 deletions src/context/context.ts
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,7 @@ export type DatepickerContextActions =
nestedLevel: number;
defaultType?: ItemType['type'];
defaultOpen: boolean;
alwaysOpen?: boolean;
};
}
| {
Expand All @@ -217,6 +218,7 @@ export type DatepickerSlot = {
nestedLevel: number;
attach: MutableRefObject<HTMLElement | null> | undefined;
isOpen: boolean;
alwaysOpen?: boolean;
type?: ItemType['type'];
defaultType?: ItemType['type'];
};
Expand Down Expand Up @@ -430,6 +432,7 @@ export const datePickerReducer = (
type: payload.defaultType,
attach: undefined,
isOpen: payload.defaultOpen,
alwaysOpen: payload.alwaysOpen,
},
},
};
Expand Down

0 comments on commit 8b9e21c

Please sign in to comment.