From 74c944613c1698e8f73b9f4aeb5018ba48bb555c Mon Sep 17 00:00:00 2001 From: baiwusanyu-c <740132583@qq.com> Date: Fri, 8 Dec 2023 17:45:32 +0800 Subject: [PATCH 1/6] fix(teleport): ensure correct rendering when target is empty --- .../__tests__/components/Teleport.spec.ts | 14 ++++++++++++++ packages/runtime-core/src/components/Teleport.ts | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/runtime-core/__tests__/components/Teleport.spec.ts b/packages/runtime-core/__tests__/components/Teleport.spec.ts index c0dbd4cae9c..ba05991bd53 100644 --- a/packages/runtime-core/__tests__/components/Teleport.spec.ts +++ b/packages/runtime-core/__tests__/components/Teleport.spec.ts @@ -553,4 +553,18 @@ describe('renderer: teleport', () => { `"
teleported
"` ) }) + // 8146 + test(`ensure correct rendering when target is empty`, async () => { + const root = nodeOps.createElement('div') + const App = { + setup() { + return () => h(Teleport, { to: null }, h('div', 'teleported')) + } + } + render(h(App), root) + await nextTick() + expect(serializeInner(root)).toMatchInlineSnapshot( + `"
teleported
"` + ) + }) }) diff --git a/packages/runtime-core/src/components/Teleport.ts b/packages/runtime-core/src/components/Teleport.ts index b9413598e54..4e1b392dc66 100644 --- a/packages/runtime-core/src/components/Teleport.ts +++ b/packages/runtime-core/src/components/Teleport.ts @@ -131,7 +131,7 @@ export const TeleportImpl = { } } - if (disabled) { + if (disabled || !target) { mount(container, mainAnchor) } else if (target) { mount(target, targetAnchor) From da937b15e705f7d8d09c6434ee8dec552a5a9b84 Mon Sep 17 00:00:00 2001 From: baiwusanyu-c <740132583@qq.com> Date: Fri, 8 Dec 2023 17:54:14 +0800 Subject: [PATCH 2/6] fix(teleport): updated unit test --- packages/runtime-core/__tests__/components/Teleport.spec.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/runtime-core/__tests__/components/Teleport.spec.ts b/packages/runtime-core/__tests__/components/Teleport.spec.ts index ba05991bd53..77d490b9715 100644 --- a/packages/runtime-core/__tests__/components/Teleport.spec.ts +++ b/packages/runtime-core/__tests__/components/Teleport.spec.ts @@ -18,6 +18,7 @@ import { } from '@vue/runtime-test' import { createVNode, Fragment } from '../../src/vnode' import { compile, render as domRender } from 'vue' +import {transform} from "@vue/reactivity-transform"; describe('renderer: teleport', () => { test('should work', () => { @@ -566,5 +567,7 @@ describe('renderer: teleport', () => { expect(serializeInner(root)).toMatchInlineSnapshot( `"
teleported
"` ) + expect(`Invalid Teleport target: null`).toHaveBeenWarnedTimes(1) + expect(`Invalid Teleport target on mount`).toHaveBeenWarnedTimes(1) }) }) From 32d82de2cc7b382c72235c52fdf181f3c9cd8436 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Fri, 8 Dec 2023 14:24:40 +0000 Subject: [PATCH 3/6] [autofix.ci] apply automated fixes --- packages/runtime-core/__tests__/components/Teleport.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/runtime-core/__tests__/components/Teleport.spec.ts b/packages/runtime-core/__tests__/components/Teleport.spec.ts index 77d490b9715..6f9db9e3f5f 100644 --- a/packages/runtime-core/__tests__/components/Teleport.spec.ts +++ b/packages/runtime-core/__tests__/components/Teleport.spec.ts @@ -18,7 +18,7 @@ import { } from '@vue/runtime-test' import { createVNode, Fragment } from '../../src/vnode' import { compile, render as domRender } from 'vue' -import {transform} from "@vue/reactivity-transform"; +import { transform } from '@vue/reactivity-transform' describe('renderer: teleport', () => { test('should work', () => { From fd76588e0ebb95b1aa5de0b5dee51cdf675c28a4 Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 11 Dec 2023 18:16:38 +0800 Subject: [PATCH 4/6] Update Teleport.spec.ts --- packages/runtime-core/__tests__/components/Teleport.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/runtime-core/__tests__/components/Teleport.spec.ts b/packages/runtime-core/__tests__/components/Teleport.spec.ts index 6f9db9e3f5f..0198b26e770 100644 --- a/packages/runtime-core/__tests__/components/Teleport.spec.ts +++ b/packages/runtime-core/__tests__/components/Teleport.spec.ts @@ -18,7 +18,6 @@ import { } from '@vue/runtime-test' import { createVNode, Fragment } from '../../src/vnode' import { compile, render as domRender } from 'vue' -import { transform } from '@vue/reactivity-transform' describe('renderer: teleport', () => { test('should work', () => { @@ -554,6 +553,7 @@ describe('renderer: teleport', () => { `"
teleported
"` ) }) + // 8146 test(`ensure correct rendering when target is empty`, async () => { const root = nodeOps.createElement('div') From 14ae4e0c682510d80ed4d981cfe54f01dd91122d Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 3 Jan 2024 01:48:53 +0000 Subject: [PATCH 5/6] [autofix.ci] apply automated fixes --- packages/runtime-core/__tests__/components/Teleport.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/runtime-core/__tests__/components/Teleport.spec.ts b/packages/runtime-core/__tests__/components/Teleport.spec.ts index 15e00848d26..e28b282d106 100644 --- a/packages/runtime-core/__tests__/components/Teleport.spec.ts +++ b/packages/runtime-core/__tests__/components/Teleport.spec.ts @@ -560,12 +560,12 @@ describe('renderer: teleport', () => { const App = { setup() { return () => h(Teleport, { to: null }, h('div', 'teleported')) - } + }, } render(h(App), root) await nextTick() expect(serializeInner(root)).toMatchInlineSnapshot( - `"
teleported
"` + `"
teleported
"`, ) expect(`Invalid Teleport target: null`).toHaveBeenWarnedTimes(1) expect(`Invalid Teleport target on mount`).toHaveBeenWarnedTimes(1) From b3e285e8ceda4ea983e153cb729f20ddbe812999 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 3 Jan 2024 08:57:37 +0000 Subject: [PATCH 6/6] [autofix.ci] apply automated fixes --- packages/sfc-playground/src/App.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/sfc-playground/src/App.vue b/packages/sfc-playground/src/App.vue index 200ac550d8f..cadd39f4baa 100644 --- a/packages/sfc-playground/src/App.vue +++ b/packages/sfc-playground/src/App.vue @@ -140,8 +140,8 @@ onMounted(() => { :preview-options="{ customCode: { importCode: `import { initCustomFormatter } from 'vue'`, - useCode: `initCustomFormatter()` - } + useCode: `initCustomFormatter()`, + }, }" />