Преглед на файлове

fix(runtime-core): delete stale slots which are present but undefined (#6484)

close #9109
Kael преди 2 години
родител
ревизия
75b8722135
променени са 2 файла, в които са добавени 4 реда и са изтрити 2 реда
  1. 3 1
      packages/runtime-core/__tests__/componentSlots.spec.ts
  2. 1 1
      packages/runtime-core/src/componentSlots.ts

+ 3 - 1
packages/runtime-core/__tests__/componentSlots.spec.ts

@@ -134,9 +134,11 @@ describe('component: slots', () => {
     }
 
     const oldSlots = {
-      header: 'header'
+      header: 'header',
+      footer: undefined
     }
     const newSlots = {
+      header: undefined,
       footer: 'footer'
     }
 

+ 1 - 1
packages/runtime-core/src/componentSlots.ts

@@ -234,7 +234,7 @@ export const updateSlots = (
   // delete stale slots
   if (needDeletionCheck) {
     for (const key in slots) {
-      if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {
+      if (!isInternalKey(key) && deletionComparisonTarget[key] == null) {
         delete slots[key]
       }
     }