From 0692ea701119633cd1abecff0c0d1cb9e1a7c733 Mon Sep 17 00:00:00 2001
From: baiwusanyu-c <740132583@qq.com>
Date: Mon, 16 Jan 2023 17:22:37 +0800
Subject: [PATCH 1/5] fix(transitionGroup): `transitionGroup` can render
`:slotted` styles
---
packages/runtime-core/src/vnode.ts | 2 +-
packages/runtime-dom/src/components/TransitionGroup.ts | 8 +++++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/packages/runtime-core/src/vnode.ts b/packages/runtime-core/src/vnode.ts
index 83eedc4cc..838ada464 100644
--- a/packages/runtime-core/src/vnode.ts
+++ b/packages/runtime-core/src/vnode.ts
@@ -431,7 +431,7 @@ function createBaseVNode(
key: props && normalizeKey(props),
ref: props && normalizeRef(props),
scopeId: currentScopeId,
- slotScopeIds: null,
+ slotScopeIds: props && props.slotScopeIds,
children,
component: null,
suspense: null,
diff --git a/packages/runtime-dom/src/components/TransitionGroup.ts b/packages/runtime-dom/src/components/TransitionGroup.ts
index 5c78be26d..35c025611 100644
--- a/packages/runtime-dom/src/components/TransitionGroup.ts
+++ b/packages/runtime-dom/src/components/TransitionGroup.ts
@@ -136,7 +136,13 @@ const TransitionGroupImpl: ComponentOptions = {
}
}
- return createVNode(tag, null, children)
+ return createVNode(
+ tag,
+ {
+ slotScopeIds: instance.vnode.slotScopeIds
+ },
+ children
+ )
}
}
}
From e49ecec498709720297e0b82327cf18e6ae9a114 Mon Sep 17 00:00:00 2001
From: baiwusanyu <740132583@qq.com>
Date: Mon, 16 Jan 2023 22:25:34 +0800
Subject: [PATCH 2/5] fix(runtime-dom): added unit test
---
.../runtime-core/__tests__/scopeId.spec.ts | 36 +++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/packages/runtime-core/__tests__/scopeId.spec.ts b/packages/runtime-core/__tests__/scopeId.spec.ts
index cdbb81c41..590f8977d 100644
--- a/packages/runtime-core/__tests__/scopeId.spec.ts
+++ b/packages/runtime-core/__tests__/scopeId.spec.ts
@@ -9,6 +9,7 @@ import {
popScopeId
} from '@vue/runtime-test'
import { withCtx } from '../src/componentRenderContext'
+import { TransitionGroup } from '@vue/runtime-dom'
describe('scopeId runtime support', () => {
test('should attach scopeId', () => {
@@ -161,6 +162,41 @@ describe('scopeId runtime support', () => {
)
})
+ test(':slotted should work on transitionGroup', async () => {
+ const Child = {
+ __scopeId: 'child',
+ render(this: any) {
+ return h('div', renderSlot(this.$slots, 'default'))
+ }
+ }
+
+ const App = {
+ __scopeId: 'parent',
+ render: () => {
+ return h(
+ Child,
+ withCtx(() => {
+ return [
+ h(TransitionGroup, null, {
+ default: withCtx(() => [
+ h('div', { key: 'foo' }, ' I have a TransitionGroup ')
+ ])
+ })
+ ]
+ })
+ )
+ }
+ }
+ const root = nodeOps.createElement('div')
+ render(h(App), root)
+ // slot content should have:
+ // - scopeId from parent
+ // - slotted scopeId (with `-s` postfix) from child (the tree owner)
+ expect(serializeInner(root)).toBe(
+ `
`
+ )
+ })
+
// #1988
test('should inherit scopeId through nested HOCs with inheritAttrs: false', () => {
const App = {
From c8c783e6ceb109db0d07be71b1cc6b90870e178d 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:24:58 +0000
Subject: [PATCH 3/5] [autofix.ci] apply automated fixes
---
packages/runtime-core/__tests__/scopeId.spec.ts | 14 +++++++-------
.../runtime-dom/src/components/TransitionGroup.ts | 4 ++--
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/packages/runtime-core/__tests__/scopeId.spec.ts b/packages/runtime-core/__tests__/scopeId.spec.ts
index d8f8fcdd5..7a87fef18 100644
--- a/packages/runtime-core/__tests__/scopeId.spec.ts
+++ b/packages/runtime-core/__tests__/scopeId.spec.ts
@@ -167,7 +167,7 @@ describe('scopeId runtime support', () => {
__scopeId: 'child',
render(this: any) {
return h('div', renderSlot(this.$slots, 'default'))
- }
+ },
}
const App = {
@@ -179,13 +179,13 @@ describe('scopeId runtime support', () => {
return [
h(TransitionGroup, null, {
default: withCtx(() => [
- h('div', { key: 'foo' }, ' I have a TransitionGroup ')
- ])
- })
+ h('div', { key: 'foo' }, ' I have a TransitionGroup '),
+ ]),
+ }),
]
- })
+ }),
)
- }
+ },
}
const root = nodeOps.createElement('div')
render(h(App), root)
@@ -193,7 +193,7 @@ describe('scopeId runtime support', () => {
// - scopeId from parent
// - slotted scopeId (with `-s` postfix) from child (the tree owner)
expect(serializeInner(root)).toBe(
- ``
+ ``,
)
})
diff --git a/packages/runtime-dom/src/components/TransitionGroup.ts b/packages/runtime-dom/src/components/TransitionGroup.ts
index 5d415ca8f..1a670ee6d 100644
--- a/packages/runtime-dom/src/components/TransitionGroup.ts
+++ b/packages/runtime-dom/src/components/TransitionGroup.ts
@@ -141,9 +141,9 @@ const TransitionGroupImpl: ComponentOptions = {
return createVNode(
tag,
{
- slotScopeIds: instance.vnode.slotScopeIds
+ slotScopeIds: instance.vnode.slotScopeIds,
},
- children
+ children,
)
}
},
From beb6694695827ea18ddf5eb0bce1fc0ae742d49a Mon Sep 17 00:00:00 2001
From: baiwusanyu-c
Date: Tue, 20 Aug 2024 14:06:19 +0800
Subject: [PATCH 4/5] fix(runtime-dom): updated code
---
packages/runtime-core/src/vnode.ts | 3 ++-
packages/runtime-dom/src/components/TransitionGroup.ts | 10 +++-------
2 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/packages/runtime-core/src/vnode.ts b/packages/runtime-core/src/vnode.ts
index 23440be8c..cd1b894e1 100644
--- a/packages/runtime-core/src/vnode.ts
+++ b/packages/runtime-core/src/vnode.ts
@@ -468,8 +468,9 @@ function createBaseVNode(
props,
key: props && normalizeKey(props),
ref: props && normalizeRef(props),
+ slotScopeIds: null,
scopeId: currentScopeId,
- slotScopeIds: props && props.slotScopeIds,
+ // slotScopeIds: props && props.slotScopeIds,
children,
component: null,
suspense: null,
diff --git a/packages/runtime-dom/src/components/TransitionGroup.ts b/packages/runtime-dom/src/components/TransitionGroup.ts
index 658154d62..0e39aa4e9 100644
--- a/packages/runtime-dom/src/components/TransitionGroup.ts
+++ b/packages/runtime-dom/src/components/TransitionGroup.ts
@@ -149,13 +149,9 @@ const TransitionGroupImpl: ComponentOptions = {
}
}
- return createVNode(
- tag,
- {
- slotScopeIds: instance.vnode.slotScopeIds,
- },
- children,
- )
+ const node = createVNode(tag, null, children)
+ node.slotScopeIds = instance.vnode.slotScopeIds
+ return node
}
},
}
From 7ca6a18ef7dd43ec4c86b6607751ed520df56160 Mon Sep 17 00:00:00 2001
From: baiwusanyu-c
Date: Tue, 20 Aug 2024 14:08:59 +0800
Subject: [PATCH 5/5] fix(runtime-dom): delete comment
---
packages/runtime-core/src/vnode.ts | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/packages/runtime-core/src/vnode.ts b/packages/runtime-core/src/vnode.ts
index cd1b894e1..57c0cf8b7 100644
--- a/packages/runtime-core/src/vnode.ts
+++ b/packages/runtime-core/src/vnode.ts
@@ -468,9 +468,8 @@ function createBaseVNode(
props,
key: props && normalizeKey(props),
ref: props && normalizeRef(props),
- slotScopeIds: null,
scopeId: currentScopeId,
- // slotScopeIds: props && props.slotScopeIds,
+ slotScopeIds: null,
children,
component: null,
suspense: null,