Skip to content

Commit 646ca89

Browse files
committed
feat: retire deprecated api
1 parent 4535161 commit 646ca89

File tree

5 files changed

+25
-47
lines changed

5 files changed

+25
-47
lines changed

docs/demo/visible.md renamed to docs/demo/open.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ nav:
55
path: /demo
66
---
77

8-
<code src="../../examples/visible.tsx"></code>
8+
<code src="../../examples/open.tsx"></code>

examples/visible.tsx renamed to examples/open.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ const addressOptions = [
5959

6060
const Demo = () => {
6161
const [value, setValue] = useState<string[]>([]);
62-
const [popupVisible, setPopupVisible] = useState(false);
62+
const [open, setOpen] = useState(false);
6363

6464
const getLabel = () => {
6565
return arrayTreeFilter(addressOptions, (o, level) => o.value === value[level])
@@ -69,10 +69,10 @@ const Demo = () => {
6969

7070
return (
7171
<Cascader
72-
popupVisible={popupVisible}
72+
open={open}
7373
value={value}
7474
options={addressOptions}
75-
onPopupVisibleChange={open => setPopupVisible(open)}
75+
onPopupVisibleChange={open => setOpen(open)}
7676
onChange={value => setValue(value)}
7777
>
7878
<input value={getLabel()} readOnly />

src/Cascader.tsx

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -99,22 +99,18 @@ interface BaseCascaderProps<
9999
loadData?: (selectOptions: OptionType[]) => void;
100100

101101
// Open
102-
/** @deprecated Use `open` instead */
103-
popupVisible?: boolean;
104102

105-
/** @deprecated Use `dropdownClassName` instead */
106-
popupClassName?: string;
103+
/** @deprecated Use `popupClassName` instead */
107104
dropdownClassName?: string;
105+
popupClassName?: string;
108106
dropdownMenuColumnStyle?: React.CSSProperties;
109107

110-
/** @deprecated Use `placement` instead */
111-
popupPlacement?: Placement;
112108
placement?: Placement;
113109
builtinPlacements?: BuildInPlacements;
114110

115-
/** @deprecated Use `onDropdownVisibleChange` instead */
116-
onPopupVisibleChange?: (open: boolean) => void;
111+
/** @deprecated Use `onPopupVisibleChange` instead */
117112
onDropdownVisibleChange?: (open: boolean) => void;
113+
onPopupVisibleChange?: (open: boolean) => void;
118114

119115
// Icon
120116
expandIcon?: React.ReactNode;
@@ -209,15 +205,13 @@ const Cascader = React.forwardRef<CascaderRef, InternalCascaderProps>((props, re
209205
loadData,
210206

211207
// Open
212-
popupVisible,
213208
open,
214209

215210
popupClassName,
216211
dropdownClassName,
217212
dropdownMenuColumnStyle,
218213
dropdownStyle: customDropdownStyle,
219214

220-
popupPlacement,
221215
placement,
222216

223217
onDropdownVisibleChange,
@@ -371,13 +365,8 @@ const Cascader = React.forwardRef<CascaderRef, InternalCascaderProps>((props, re
371365
onInternalSelect(valueCells);
372366
};
373367

374-
// ============================ Open ============================
375-
const mergedOpen = open !== undefined ? open : popupVisible;
376-
377368
const mergedDropdownClassName = dropdownClassName || popupClassName;
378369

379-
const mergedPlacement = placement || popupPlacement;
380-
381370
const onInternalDropdownVisibleChange = (nextVisible: boolean) => {
382371
onDropdownVisibleChange?.(nextVisible);
383372
onPopupVisibleChange?.(nextVisible);
@@ -468,9 +457,9 @@ const Cascader = React.forwardRef<CascaderRef, InternalCascaderProps>((props, re
468457
OptionList={OptionList}
469458
emptyOptions={emptyOptions}
470459
// Open
471-
open={mergedOpen}
460+
open={open}
472461
dropdownClassName={mergedDropdownClassName}
473-
placement={mergedPlacement}
462+
placement={placement}
474463
onDropdownVisibleChange={onInternalDropdownVisibleChange}
475464
// Children
476465
getRawInputElement={() => children as React.ReactElement}

src/utils/warningPropsUtil.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,15 @@ import warning from 'rc-util/lib/warning';
22
import type { DefaultOptionType, FieldNames, InternalCascaderProps } from '../Cascader';
33

44
function warningProps(props: InternalCascaderProps) {
5-
const { onPopupVisibleChange, popupVisible, popupClassName, popupPlacement } = props;
5+
const { onDropdownVisibleChange, dropdownClassName } = props;
66

77
warning(
8-
!onPopupVisibleChange,
9-
'`onPopupVisibleChange` is deprecated. Please use `onDropdownVisibleChange` instead.',
8+
!onDropdownVisibleChange,
9+
'`onDropdownVisibleChange` is deprecated. Please use `onPopupVisibleChange` instead.',
1010
);
11-
warning(popupVisible === undefined, '`popupVisible` is deprecated. Please use `open` instead.');
1211
warning(
13-
popupClassName === undefined,
14-
'`popupClassName` is deprecated. Please use `dropdownClassName` instead.',
15-
);
16-
warning(
17-
popupPlacement === undefined,
18-
'`popupPlacement` is deprecated. Please use `placement` instead.',
12+
dropdownClassName === undefined,
13+
'`dropdownClassName` is deprecated. Please use `popupClassName` instead.',
1914
);
2015
}
2116

tests/index.spec.tsx

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -514,30 +514,24 @@ describe('Cascader.Basic', () => {
514514
expect(wrapper.isOpen()).toBeTruthy();
515515
});
516516

517-
it('warning popupVisible & onPopupVisibleChange & popupClassName', () => {
517+
it('onDropdownVisibleChange & dropdownClassName', () => {
518518
resetWarned();
519519
const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {});
520-
const onPopupVisibleChange = jest.fn();
520+
const onDropdownVisibleChange = jest.fn();
521521
const wrapper = mount(
522522
<Cascader
523-
popupVisible
524-
onPopupVisibleChange={onPopupVisibleChange}
525-
popupClassName="legacy-cls"
526-
popupPlacement="topRight"
523+
open
524+
onDropdownVisibleChange={onDropdownVisibleChange}
525+
dropdownClassName="legacy-cls"
526+
placement="topRight"
527527
/>,
528528
);
529529

530530
expect(errorSpy).toHaveBeenCalledWith(
531-
'Warning: `onPopupVisibleChange` is deprecated. Please use `onDropdownVisibleChange` instead.',
532-
);
533-
expect(errorSpy).toHaveBeenCalledWith(
534-
'Warning: `popupVisible` is deprecated. Please use `open` instead.',
531+
'Warning: `onDropdownVisibleChange` is deprecated. Please use `onPopupVisibleChange` instead.',
535532
);
536533
expect(errorSpy).toHaveBeenCalledWith(
537-
'Warning: `popupClassName` is deprecated. Please use `dropdownClassName` instead.',
538-
);
539-
expect(errorSpy).toHaveBeenCalledWith(
540-
'Warning: `popupPlacement` is deprecated. Please use `placement` instead.',
534+
'Warning: `dropdownClassName` is deprecated. Please use `popupClassName` instead.',
541535
);
542536

543537
expect(wrapper.exists('.legacy-cls')).toBeTruthy();
@@ -610,7 +604,7 @@ describe('Cascader.Basic', () => {
610604
},
611605
];
612606
const wrapper = mount(
613-
<Cascader options={options} popupVisible>
607+
<Cascader options={options} open>
614608
<input readOnly />
615609
</Cascader>,
616610
);
@@ -622,7 +616,7 @@ describe('Cascader.Basic', () => {
622616
const wrapper = mount(
623617
<Cascader
624618
options={addressOptions}
625-
popupVisible
619+
open
626620
dropdownRender={menus => (
627621
<div className="custom-dropdown">
628622
{menus}

0 commit comments

Comments
 (0)