Skip to content

Commit

Permalink
fix(pro:transfer): optimze tree expanded keys sync logic (#1414)
Browse files Browse the repository at this point in the history
removed targert expaneded keys shouldn't be synced to source
  • Loading branch information
sallerli1 committed Jan 16, 2023
1 parent 3d493f3 commit fec5fee
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions packages/pro/transfer/src/composables/useTreeExpandedKeys.ts
Expand Up @@ -41,7 +41,9 @@ export function useTreeExpandedKeys<V extends TreeTransferData<V, C>, C extends
) => {
const processExpandedKey = (key: VKey) => {
if (expandedKeysSource.has(key)) {
!expandedKeysTarget.has(key) && expandedKeysTarget.add(key)
expandedKeysTarget.add(key)
} else if (remove) {
expandedKeysTarget.delete(key)
}
}

Expand All @@ -57,8 +59,6 @@ export function useTreeExpandedKeys<V extends TreeTransferData<V, C>, C extends
processExpandedKey(getKey.value(item))
})
}

remove && expandedKeysSource.delete(key)
}

watch(targetKeySet, (keys, oldKeys) => {
Expand All @@ -77,10 +77,10 @@ export function useTreeExpandedKeys<V extends TreeTransferData<V, C>, C extends
const newSourceExpandedKeySet = new Set<VKey>(sourceExpandedKeySet.value)

deletedKeySet?.forEach(key => {
syncSelectedExpandedState(key, newTargetExpandedKeySet, newSourceExpandedKeySet, true)
syncSelectedExpandedState(key, newTargetExpandedKeySet, newSourceExpandedKeySet, false)
})
newKeySet?.forEach(key => {
syncSelectedExpandedState(key, newSourceExpandedKeySet, newTargetExpandedKeySet, props.mode !== 'immediate')
syncSelectedExpandedState(key, newSourceExpandedKeySet, newTargetExpandedKeySet, true)
})

setTargetExpandedKeys(Array.from(newTargetExpandedKeySet))
Expand Down

0 comments on commit fec5fee

Please sign in to comment.