Skip to content

Commit

Permalink
Revert "fix: Cascader muiltple mode should display full path of selec…
Browse files Browse the repository at this point in the history
…ted value (#238)" (#242)

This reverts commit dde66d2.
  • Loading branch information
zombieJ authored Jan 19, 2022
1 parent dd838e6 commit 0cbaa6a
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 7 deletions.
2 changes: 0 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,11 @@
"@types/react": "^16.8.19",
"@types/react-dom": "^17.0.11",
"@types/warning": "^3.0.0",
"@umijs/fabric": "^2.10.1",
"cross-env": "^7.0.0",
"dumi": "^1.1.12",
"enzyme": "^3.3.0",
"enzyme-adapter-react-16": "^1.0.2",
"enzyme-to-json": "^3.2.1",
"eslint": "^7.1.0",
"father": "^2.13.2",
"gh-pages": "^3.1.0",
"glob": "^7.1.6",
Expand Down
1 change: 1 addition & 0 deletions src/Cascader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,7 @@ const Cascader = React.forwardRef<CascaderRef, InternalCascaderProps>((props, re
deDuplicatedValues,
mergedOptions,
mergedFieldNames,
multiple,
displayRender,
);

Expand Down
10 changes: 6 additions & 4 deletions src/hooks/useDisplayValues.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,23 @@ export default (
rawValues: SingleValueType[],
options: DefaultOptionType[],
fieldNames: InternalFieldNames,
multiple: boolean,
displayRender: CascaderProps['displayRender'],
) => {
return React.useMemo(() => {
const mergedDisplayRender =
displayRender ||
// Default displayRender
(labels => {
const mergedLabels = multiple ? labels.slice(-1) : labels;
const SPLIT = ' / ';

if (labels.every(label => ['string', 'number'].includes(typeof label))) {
return labels.join(SPLIT);
if (mergedLabels.every(label => ['string', 'number'].includes(typeof label))) {
return mergedLabels.join(SPLIT);
}

// If exist non-string value, use ReactNode instead
return labels.reduce((list, label, index) => {
return mergedLabels.reduce((list, label, index) => {
const keyedLabel = React.isValidElement(label)
? React.cloneElement(label, { key: index })
: label;
Expand All @@ -53,5 +55,5 @@ export default (
valueCells,
};
});
}, [rawValues, options, fieldNames, displayRender]);
}, [rawValues, options, fieldNames, displayRender, multiple]);
};
2 changes: 1 addition & 1 deletion tests/index.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -764,7 +764,7 @@ describe('Cascader.Basic', () => {
);

expect(wrapper.find('.rc-cascader-selection-item-content').first().text()).toEqual('Parent');
expect(wrapper.find('.rc-cascader-selection-item-content').last().text()).toEqual('Normal / Child');
expect(wrapper.find('.rc-cascader-selection-item-content').last().text()).toEqual('Child');
});
});
});

1 comment on commit 0cbaa6a

@vercel
Copy link

@vercel vercel bot commented on 0cbaa6a Jan 19, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.