From: Cédric Exbrayat Date: Thu, 15 Jan 2026 00:22:26 +0000 (+0100) Subject: fix(compiler-vapor): allow multiple children in Transition v-if branch elements ... X-Git-Tag: v3.6.0-beta.4~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=212bee43b921d80b164490b7cf47716ebed7ec62;p=thirdparty%2Fvuejs%2Fcore.git fix(compiler-vapor): allow multiple children in Transition v-if branch elements (#14317) close #14316 --- diff --git a/packages/compiler-vapor/__tests__/transforms/TransformTransition.spec.ts b/packages/compiler-vapor/__tests__/transforms/TransformTransition.spec.ts index 9f0dfdd72b..909036f65f 100644 --- a/packages/compiler-vapor/__tests__/transforms/TransformTransition.spec.ts +++ b/packages/compiler-vapor/__tests__/transforms/TransformTransition.spec.ts @@ -188,6 +188,21 @@ describe('compiler: transition', () => { ) }) + test('does not warn with multiple children in v-if branch', () => { + checkWarning( + ` + +

+ True + True +

+

False

+
+ `, + false, + ) + }) + test('inject persisted when child has v-show', () => { expect( compileWithElementTransform(` diff --git a/packages/compiler-vapor/src/transforms/transformTransition.ts b/packages/compiler-vapor/src/transforms/transformTransition.ts index 6014235083..cbea826ce1 100644 --- a/packages/compiler-vapor/src/transforms/transformTransition.ts +++ b/packages/compiler-vapor/src/transforms/transformTransition.ts @@ -54,8 +54,7 @@ function hasMultipleChildren(node: ElementNode): boolean { // not has v-for !findDir(c, 'for') && // if the first child has v-if, the rest should also have v-else-if/v-else - (index === 0 ? findDir(c, 'if') : hasElse(c)) && - !hasMultipleChildren(c), + (index === 0 ? findDir(c, 'if') : hasElse(c)), ) ) { return false