diff --git a/packages/server-renderer/__tests__/ssrSlot.spec.ts b/packages/server-renderer/__tests__/ssrSlot.spec.ts
index 5a957b091..214e6ee84 100644
--- a/packages/server-renderer/__tests__/ssrSlot.spec.ts
+++ b/packages/server-renderer/__tests__/ssrSlot.spec.ts
@@ -111,68 +111,106 @@ describe('ssr: slot', () => {
})
test('transition slot', async () => {
+ const ReusableTransition = {
+ template: ``,
+ }
+
+ const ReusableTransitionWithAppear = {
+ template: ``,
+ }
+
expect(
await renderToString(
createApp({
components: {
- one: {
- template: ``,
- },
+ one: ReusableTransition,
},
template: `foo
`,
}),
),
).toBe(``)
- expect(
- await renderToString(
- createApp({
- template: ``,
- }),
- ),
- ).toBe(``)
+ expect(await renderToString(createApp(ReusableTransition))).toBe(``)
+
+ expect(await renderToString(createApp(ReusableTransitionWithAppear))).toBe(
+ ``,
+ )
expect(
await renderToString(
createApp({
components: {
- one: {
- template: ``,
- },
+ one: ReusableTransition,
},
template: ``,
}),
),
).toBe(``)
- expect(
- await renderToString(
- createApp({
- template: ``,
- }),
- ),
- ).toBe(``)
-
expect(
await renderToString(
createApp({
components: {
- one: {
- template: ``,
- },
+ one: ReusableTransitionWithAppear,
},
template: ``,
}),
),
).toBe(``)
+ expect(
+ await renderToString(
+ createApp({
+ render() {
+ return h(ReusableTransition, null, {
+ default: () => null,
+ })
+ },
+ }),
+ ),
+ ).toBe(``)
+
+ expect(
+ await renderToString(
+ createApp({
+ render() {
+ return h(ReusableTransitionWithAppear, null, {
+ default: () => null,
+ })
+ },
+ }),
+ ),
+ ).toBe(``)
+
+ expect(
+ await renderToString(
+ createApp({
+ render() {
+ return h(ReusableTransitionWithAppear, null, {
+ default: () => [],
+ })
+ },
+ }),
+ ),
+ ).toBe(``)
+
+ expect(
+ await renderToString(
+ createApp({
+ render() {
+ return h(ReusableTransition, null, {
+ default: () => [],
+ })
+ },
+ }),
+ ),
+ ).toBe(``)
+
expect(
await renderToString(
createApp({
components: {
- one: {
- template: ``,
- },
+ one: ReusableTransition,
},
template: `foo
`,
}),
diff --git a/packages/server-renderer/src/helpers/ssrRenderSlot.ts b/packages/server-renderer/src/helpers/ssrRenderSlot.ts
index 67d95e60e..2f93a12de 100644
--- a/packages/server-renderer/src/helpers/ssrRenderSlot.ts
+++ b/packages/server-renderer/src/helpers/ssrRenderSlot.ts
@@ -74,6 +74,8 @@ export function ssrRenderSlotInner(
)
} else if (fallbackRenderFn) {
fallbackRenderFn()
+ } else if (transition) {
+ push(``)
}
} else {
// ssr slot.