Skip to content

Commit 5cd8bc2

Browse files
EmilyyyLiu刘欢gemini-code-assist[bot]
authored
refactor: Upgrade utils and replace useMergedState (#622)
* refactor: Upgrade utils and replace useMergedState * Update src/Cascader.tsx Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * feat: use internalValues * feat: interanlRawValues --------- Co-authored-by: 刘欢 <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
1 parent d774daa commit 5cd8bc2

File tree

3 files changed

+10
-16
lines changed

3 files changed

+10
-16
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
"dependencies": {
4646
"@rc-component/select": "~1.1.0",
4747
"@rc-component/tree": "~1.0.0",
48-
"@rc-component/util": "^1.2.1",
48+
"@rc-component/util": "^1.3.0",
4949
"classnames": "^2.3.1"
5050
},
5151
"devDependencies": {

src/Cascader.tsx

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { BaseSelect } from '@rc-component/select';
88
import type { DisplayValueType, Placement } from '@rc-component/select/lib/BaseSelect';
99
import useId from '@rc-component/util/lib/hooks/useId';
1010
import useEvent from '@rc-component/util/lib/hooks/useEvent';
11-
import useMergedState from '@rc-component/util/lib/hooks/useMergedState';
11+
import useControlledState from '@rc-component/util/lib/hooks/useControlledState';
1212
import * as React from 'react';
1313
import CascaderContext from './context';
1414
import useDisplayValues from './hooks/useDisplayValues';
@@ -250,10 +250,8 @@ const Cascader = React.forwardRef<CascaderRef, InternalCascaderProps>((props, re
250250
const multiple = !!checkable;
251251

252252
// =========================== Values ===========================
253-
const [rawValues, setRawValues] = useMergedState<
254-
InternalValueType | undefined,
255-
SingleValueType[]
256-
>(defaultValue, { value, postState: toRawValues });
253+
const [interanlRawValues, setRawValues] = useControlledState(defaultValue, value);
254+
const rawValues = toRawValues(interanlRawValues);
257255

258256
// ========================= FieldNames =========================
259257
const mergedFieldNames = React.useMemo(
@@ -272,10 +270,8 @@ const Cascader = React.forwardRef<CascaderRef, InternalCascaderProps>((props, re
272270
// =========================== Search ===========================
273271
const [mergedShowSearch, searchConfig] = useSearchConfig(showSearch, props);
274272
const { autoClearSearchValue = true, searchValue, onSearch } = searchConfig;
275-
const [mergedSearchValue, setSearchValue] = useMergedState('', {
276-
value: searchValue,
277-
postState: search => search || '',
278-
});
273+
const [internalSearchValue, setSearchValue] = useControlledState('', searchValue);
274+
const mergedSearchValue = internalSearchValue || '';
279275

280276
const onInternalSearch: BaseSelectProps['onSearch'] = (searchText, info) => {
281277
setSearchValue(searchText);

src/Panel.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import classNames from 'classnames';
2-
import { useEvent, useMergedState } from '@rc-component/util';
2+
import { useEvent, useControlledState } from '@rc-component/util';
33
import * as React from 'react';
44
import type {
55
CascaderProps,
@@ -78,10 +78,8 @@ export default function Panel<
7878
const multiple = !!checkable;
7979

8080
// ========================= Values =========================
81-
const [rawValues, setRawValues] = useMergedState<
82-
InternalValueType | undefined,
83-
SingleValueType[]
84-
>(defaultValue, { value, postState: toRawValues });
81+
const [interanlRawValues, setRawValues] = useControlledState(defaultValue, value);
82+
const rawValues = toRawValues(interanlRawValues);
8583

8684
// ========================= FieldNames =========================
8785
const mergedFieldNames = React.useMemo(
@@ -161,7 +159,7 @@ export default function Panel<
161159
expandIcon,
162160
loadingIcon,
163161
popupMenuColumnStyle: undefined,
164-
optionRender
162+
optionRender,
165163
}),
166164
[
167165
mergedOptions,

0 commit comments

Comments
 (0)