From: 山吹色御守 <85992002+KazariEX@users.noreply.github.com> Date: Tue, 3 Sep 2024 00:26:08 +0000 (+0800) Subject: fix(server-renderer): render `className` during SSR (#11722) X-Git-Tag: v3.5.0~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=52cdb0f991dc154ae32a2900874d5dbc4e078565;p=thirdparty%2Fvuejs%2Fcore.git fix(server-renderer): render `className` during SSR (#11722) --- diff --git a/packages/server-renderer/__tests__/ssrRenderAttrs.spec.ts b/packages/server-renderer/__tests__/ssrRenderAttrs.spec.ts index 53b44728cf..9f33866e5a 100644 --- a/packages/server-renderer/__tests__/ssrRenderAttrs.spec.ts +++ b/packages/server-renderer/__tests__/ssrRenderAttrs.spec.ts @@ -143,6 +143,19 @@ describe('ssr: renderClass', () => { test('escape class values', () => { expect(ssrRenderClass(`"> { + expect( + ssrRenderAttrs({ + className: 'foo', + }), + ).toBe(` class="foo"`) + expect( + ssrRenderAttrs({ + className: ['foo', 'bar'], + }), + ).toBe(` class="foo,bar"`) + }) }) describe('ssr: renderStyle', () => { diff --git a/packages/server-renderer/src/helpers/ssrRenderAttrs.ts b/packages/server-renderer/src/helpers/ssrRenderAttrs.ts index 5a7baaac3a..55ab0b1e40 100644 --- a/packages/server-renderer/src/helpers/ssrRenderAttrs.ts +++ b/packages/server-renderer/src/helpers/ssrRenderAttrs.ts @@ -39,6 +39,8 @@ export function ssrRenderAttrs( ret += ` class="${ssrRenderClass(value)}"` } else if (key === 'style') { ret += ` style="${ssrRenderStyle(value)}"` + } else if (key === 'className') { + ret += ` class="${String(value)}"` } else { ret += ssrRenderDynamicAttr(key, value, tag) }