Skip to content

Commit a57dee8

Browse files
committed
2 parents d7c18d2 + 8a4d362 commit a57dee8

File tree

3 files changed

+20
-3
lines changed

3 files changed

+20
-3
lines changed

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@
5555
"father": "^2.13.2",
5656
"gh-pages": "^3.1.0",
5757
"glob": "^7.1.6",
58-
"jest": "^27.1.0",
5958
"np": "^6.0.0",
6059
"rc-form": "^2.4.0",
6160
"react": "^16.0.0",
@@ -65,7 +64,7 @@
6564
"dependencies": {
6665
"@babel/runtime": "^7.12.5",
6766
"array-tree-filter": "^2.1.0",
68-
"rc-tree-select": "~4.4.0-alpha.5",
67+
"rc-tree-select": "~4.5.0-alpha.0",
6968
"rc-trigger": "^5.0.4",
7069
"rc-util": "^5.0.1",
7170
"warning": "^4.0.1"

src/Cascader.tsx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import useMergedState from 'rc-util/lib/hooks/useMergedState';
44
import type { TreeSelectProps } from 'rc-tree-select';
55
import generate from 'rc-tree-select/lib/generate';
66
import type { FlattenDataNode } from 'rc-tree-select/lib/interface';
7-
import type { RefSelectProps } from 'rc-select/lib/generate';
7+
import type { RefSelectProps, Placement } from 'rc-select/lib/generate';
88
import OptionList from './OptionList';
99
import type { CascaderValueType, DataNode, FieldNames, ShowSearchType } from './interface';
1010
import CascaderContext from './context';
@@ -98,6 +98,10 @@ interface BaseCascaderProps
9898
popupClassName?: string;
9999
dropdownClassName?: string;
100100

101+
/** @deprecated Use `placement` instead */
102+
popupPlacement?: Placement;
103+
placement?: Placement;
104+
101105
/** @deprecated Use `onDropdownVisibleChange` instead */
102106
onPopupVisibleChange?: (open: boolean) => void;
103107
onDropdownVisibleChange?: (open: boolean) => void;
@@ -153,6 +157,8 @@ const Cascader = React.forwardRef((props: CascaderProps, ref: React.Ref<Cascader
153157
popupClassName,
154158
onDropdownVisibleChange,
155159
onPopupVisibleChange,
160+
popupPlacement,
161+
placement,
156162

157163
searchValue,
158164
onSearch,
@@ -295,12 +301,18 @@ const Cascader = React.forwardRef((props: CascaderProps, ref: React.Ref<Cascader
295301
popupClassName === undefined,
296302
'`popupClassName` is deprecated. Please use `dropdownClassName` instead.',
297303
);
304+
warning(
305+
popupPlacement === undefined,
306+
'`popupPlacement` is deprecated. Please use `placement` instead.',
307+
);
298308
}
299309

300310
const mergedOpen = open !== undefined ? open : popupVisible;
301311

302312
const mergedDropdownClassName = dropdownClassName || popupClassName;
303313

314+
const mergedPlacement = placement || popupPlacement;
315+
304316
const onInternalDropdownVisibleChange = (nextVisible: boolean) => {
305317
onDropdownVisibleChange?.(nextVisible);
306318
onPopupVisibleChange?.(nextVisible);
@@ -349,6 +361,7 @@ const Cascader = React.forwardRef((props: CascaderProps, ref: React.Ref<Cascader
349361
ref={cascaderRef}
350362
{...restProps}
351363
value={checkable ? internalValue : internalValue[0]}
364+
placement={mergedPlacement}
352365
dropdownMatchSelectWidth={false}
353366
dropdownStyle={dropdownStyle}
354367
dropdownClassName={mergedDropdownClassName}

tests/index.spec.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,7 @@ describe('Cascader.Basic', () => {
452452
popupVisible
453453
onPopupVisibleChange={onPopupVisibleChange}
454454
popupClassName="legacy-cls"
455+
popupPlacement="topRight"
455456
/>,
456457
);
457458

@@ -464,8 +465,12 @@ describe('Cascader.Basic', () => {
464465
expect(errorSpy).toHaveBeenCalledWith(
465466
'Warning: `popupClassName` is deprecated. Please use `dropdownClassName` instead.',
466467
);
468+
expect(errorSpy).toHaveBeenCalledWith(
469+
'Warning: `popupPlacement` is deprecated. Please use `placement` instead.',
470+
);
467471

468472
expect(wrapper.exists('.legacy-cls')).toBeTruthy();
473+
expect(wrapper.find('Trigger').prop('popupPlacement')).toEqual('topRight');
469474

470475
errorSpy.mockRestore();
471476
});

0 commit comments

Comments
 (0)