]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(slots): dynamically named slots should be keyed by name
authorEvan You <yyx990803@gmail.com>
Fri, 27 Nov 2020 19:35:38 +0000 (14:35 -0500)
committerEvan You <yyx990803@gmail.com>
Fri, 27 Nov 2020 19:35:46 +0000 (14:35 -0500)
fix #2535

packages/runtime-core/src/helpers/renderSlot.ts

index c20b8a191dc9599231a4328aabc5d3912b33f769..420c4ffc102ed8240d9399335e880d6658b82635 100644 (file)
@@ -47,7 +47,7 @@ export function renderSlot(
   const validSlotContent = slot && ensureValidVNode(slot(props))
   const rendered = createBlock(
     Fragment,
-    { key: props.key },
+    { key: props.key || `_${name}` },
     validSlotContent || (fallback ? fallback() : []),
     validSlotContent && (slots as RawSlots)._ === SlotFlags.STABLE
       ? PatchFlags.STABLE_FRAGMENT