Skip to content

Commit 04f82af

Browse files
committed
tweak: collapse
1 parent 2cb2d6d commit 04f82af

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

packages/uikit/src/biz/Cascader/CascaderPanel.tsx

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,15 @@ const CascaderItem = ({ multiple, option, siblings, optionProps, onCheck }: Casc
106106
const isChecked = isNodeChecked(value)
107107
const isIndeterminate = isNodeIndeterminate(value)
108108

109+
const collapseSiblings = (nodes: TreeNodeData[]) => {
110+
nodes.forEach((node) => {
111+
if (node.value !== value && expandedState[node.value]) {
112+
collapse(node.value)
113+
collapseSiblings(node.children || [])
114+
}
115+
})
116+
}
117+
109118
return (
110119
<Box {...wrapperProps} w="100%" px="sm">
111120
<Box
@@ -149,11 +158,7 @@ const CascaderItem = ({ multiple, option, siblings, optionProps, onCheck }: Casc
149158
await loadNodes(value)
150159
}
151160

152-
siblings.forEach((sibling) => {
153-
if (sibling.value !== value) {
154-
collapse(sibling.value)
155-
}
156-
})
161+
collapseSiblings(siblings)
157162
toggleExpanded(value)
158163
}}
159164
>

0 commit comments

Comments
 (0)