Skip to content

Commit cd4034a

Browse files
authored
fix: open no lock (#633)
* chore: reset on open * test: add test case
1 parent d6242fa commit cd4034a

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/hooks/useRangeOpen.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ export default function useRangeOpen(
5555

5656
const [nextActiveIndex, setNextActiveIndex] = React.useState<0 | 1>(null);
5757

58+
React.useEffect(() => {
59+
if (mergedOpen) {
60+
setFirstTimeOpen(true);
61+
}
62+
}, [mergedOpen]);
63+
5864
const triggerOpen = useEvent((nextOpen: boolean, index: 0 | 1 | false, source: SourceType) => {
5965
if (index === false) {
6066
// Only when `nextOpen` is false and no need open to next index
@@ -71,7 +77,6 @@ export default function useRangeOpen(
7177
// Also set next index if next is empty
7278
![startSelectedValue, endSelectedValue][nextIndex]
7379
) {
74-
setFirstTimeOpen(true);
7580
setNextActiveIndex(nextIndex);
7681
} else {
7782
setFirstTimeOpen(false);

tests/range.spec.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1803,6 +1803,7 @@ describe('Picker.Range', () => {
18031803
openPicker(container);
18041804
expect(baseElement).toMatchSnapshot();
18051805
});
1806+
18061807
it('use dateRender and monthCellRender in date range picker', () => {
18071808
const { container, baseElement } = render(
18081809
<MomentRangePicker
@@ -1814,4 +1815,16 @@ describe('Picker.Range', () => {
18141815
openPicker(container);
18151816
expect(baseElement).toMatchSnapshot();
18161817
});
1818+
1819+
it('no -disabled cell when set open directly', () => {
1820+
render(
1821+
<MomentRangePicker
1822+
open
1823+
picker="date"
1824+
defaultValue={[getMoment('2000-09-03'), getMoment('2000-09-03')]}
1825+
/>,
1826+
);
1827+
1828+
expect(document.querySelector('.rc-picker-cell-disabled')).toBeFalsy();
1829+
});
18171830
});

0 commit comments

Comments
 (0)