]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
refactor(runtime-vapor): pass vapor slot fallback directly to `renderSlot` edison/refactor/slots 14155/head
authordaiwei <daiwei521@126.com>
Mon, 1 Dec 2025 08:47:39 +0000 (16:47 +0800)
committerdaiwei <daiwei521@126.com>
Mon, 1 Dec 2025 08:47:39 +0000 (16:47 +0800)
packages/runtime-core/src/helpers/renderSlot.ts
packages/runtime-core/src/index.ts
packages/runtime-vapor/src/vdomInterop.ts

index 3a9389a5927e717646787df93762b83ef701fed7..9bcbc3aa1010efc664beb9f62a3ea7274a23cc04 100644 (file)
@@ -130,7 +130,7 @@ export function ensureValidVNode(
     : null
 }
 
-export function ensureVaporSlotFallback(
+function ensureVaporSlotFallback(
   vnodes: VNodeArrayChildren | null | undefined,
   fallback?: () => VNodeArrayChildren,
 ): void {
index 58f6f40b9f0190c0a082531d228ef1c1dc1dfb73..4cee02acb1fab075ba9813cee01b6a87599a8d2b 100644 (file)
@@ -608,10 +608,6 @@ export { setRef } from './rendererTemplateRef'
  * @internal
  */
 export { type VNodeNormalizedRef, normalizeRef } from './vnode'
-/**
- * @internal
- */
-export { ensureVaporSlotFallback } from './helpers/renderSlot'
 /**
  * @internal
  */
index 7f051e064f134bdafbcf5ed70a5cf2db583911f6..e408c785016a86045db372f7af14d87c1388d10a 100644 (file)
@@ -21,7 +21,6 @@ import {
   currentInstance,
   ensureHydrationRenderer,
   ensureRenderer,
-  ensureVaporSlotFallback,
   isEmitListener,
   isKeepAlive,
   isRef,
@@ -464,12 +463,10 @@ function renderVDOMSlot(
           slotsRef.value,
           isFunction(name) ? name() : name,
           props,
+          fallback as any,
         )
 
         let children = vnode.children as any[]
-        // handle forwarded vapor slot without its own fallback
-        // use the fallback provided by the slot outlet
-        ensureVaporSlotFallback(children, fallback as any)
         isValidSlot = children.length > 0
       }