Skip to content

Commit f07a59e

Browse files
committed
fix: value will be expanded
1 parent 71af666 commit f07a59e

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

packages/components/tree/hooks/useTreeStore.ts

+23-2
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,32 @@ export default function useTreeStore(state: TypeTreeState) {
5555

5656
const updateExpanded = () => {
5757
const { expandParent } = props;
58-
if (!Array.isArray(tExpanded.value)) return;
58+
59+
const expandedValueSet = new Set<TreeNodeValue>();
60+
61+
const getValueParentsToSet = (values: TreeNodeValue[]) => {
62+
values.forEach((val) => {
63+
const parents = store.getParents(val);
64+
parents.forEach((parent) => {
65+
expandedValueSet.add(parent.value);
66+
});
67+
});
68+
};
69+
70+
if (Array.isArray(tValue.value)) {
71+
getValueParentsToSet(tValue.value);
72+
}
73+
74+
if (Array.isArray(tExpanded.value)) {
75+
tExpanded.value.forEach((value) => expandedValueSet.add(value));
76+
}
77+
78+
const expandedValue = Array.from(expandedValueSet);
79+
5980
// 初始化展开状态
6081
// 校验是否自动展开父节点
6182
const expandedMap = new Map();
62-
tExpanded.value.forEach((val) => {
83+
expandedValue.forEach((val) => {
6384
expandedMap.set(val, true);
6485
if (expandParent) {
6586
const node = store.getNode(val);

0 commit comments

Comments
 (0)