diff --git a/packages/runtime-vapor/src/apiCreateFor.ts b/packages/runtime-vapor/src/apiCreateFor.ts index 864bebb8a..bdd2af7b3 100644 --- a/packages/runtime-vapor/src/apiCreateFor.ts +++ b/packages/runtime-vapor/src/apiCreateFor.ts @@ -256,6 +256,7 @@ export const createFor = ( const previousKeyIndexMap = new Map(previousKeyIndexPairs) const operations: (() => void)[] = [] + let mountCounter = 0 const relocateOrMountBlock = ( blockIndex: number, blockItem: ReturnType, @@ -280,6 +281,7 @@ export const createFor = ( ) } } else { + mountCounter++ operations.push(() => mount( source, @@ -310,7 +312,7 @@ export const createFor = ( relocateOrMountBlock(i, blockItem, blockKey, -1) } - const useFastRemove = operations.length === newLength + const useFastRemove = mountCounter === newLength for (const leftoverIndex of previousKeyIndexMap.values()) { unmount(