diff --git a/packages/react-tree/src/index.tsx b/packages/react-tree/src/index.tsx index 684bcac73c..45e375b5ea 100644 --- a/packages/react-tree/src/index.tsx +++ b/packages/react-tree/src/index.tsx @@ -144,18 +144,18 @@ export default function Tree(props: TreeProps) { const [curSelectedKeys, setCurSelectedKeys] = useState(selectedKeys); useEffect(() => { - setCurSelectedKeys(props.selectedKeys!); + setCurSelectedKeys(props.selectedKeys || []); }, [JSON.stringify(props.selectedKeys)]); // useEffect(() => setCurOpenKeys(openKeys), [openKeys]); // useEffect(() => setCurSelectedKeys(selectedKeys), [selectedKeys]); useEffect(() => { - let arrOpenKeys: TreeData['key'][] = []; + let arrOpenKeys: TreeData['key'][] = curOpenKeys; if (defaultExpandAll) { arrOpenKeys = getChildKeys(data); } else if (autoExpandParent) { - arrOpenKeys = getChildKeys(data, undefined, 1); + arrOpenKeys.push(...getChildKeys(data, undefined, 1)); } setCurOpenKeys(arrOpenKeys); }, []);