Просмотр исходного кода

refactor(transition-group): directly returns slotted block instead of wrapping it in DynamicFragment. (#14122)

edison 6 месяцев назад
Родитель
Сommit
e0ac500b55

+ 1 - 1
packages/runtime-vapor/src/apiCreateFor.ts

@@ -133,7 +133,7 @@ export const createFor = (
 
     // trigger TransitionGroup update hooks
     const transitionHooks = frag.$transition
-    if (transitionHooks && transitionHooks.group) {
+    if (transitionHooks && transitionHooks.group && isMounted) {
       triggerTransitionGroupUpdate(transitionHooks)
     }
 

+ 2 - 6
packages/runtime-vapor/src/components/TransitionGroup.ts

@@ -36,7 +36,7 @@ import {
 import { isForBlock } from '../apiCreateFor'
 import { renderEffect } from '../renderEffect'
 import { createElement } from '../dom/node'
-import { DynamicFragment, isFragment } from '../fragment'
+import { isFragment } from '../fragment'
 
 const positionMap = new WeakMap<TransitionBlock, DOMRect>()
 const newPositionMap = new WeakMap<TransitionBlock, DOMRect>()
@@ -160,11 +160,7 @@ export const VaporTransitionGroup: ObjectVaporComponent = decorate({
       }
       return container
     } else {
-      const frag = __DEV__
-        ? new DynamicFragment('transition-group')
-        : new DynamicFragment()
-      renderEffect(() => frag.update(() => slottedBlock))
-      return frag
+      return slottedBlock
     }
   },
 })