]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(server-renderer): render `className` during SSR (#11722)
author山吹色御守 <85992002+KazariEX@users.noreply.github.com>
Tue, 3 Sep 2024 00:26:08 +0000 (08:26 +0800)
committerGitHub <noreply@github.com>
Tue, 3 Sep 2024 00:26:08 +0000 (08:26 +0800)
packages/server-renderer/__tests__/ssrRenderAttrs.spec.ts
packages/server-renderer/src/helpers/ssrRenderAttrs.ts

index 53b44728cfa72f47585c5ddee5b45dc5b931354b..9f33866e5a87e4b87af29deb711bcb858a0b65c6 100644 (file)
@@ -143,6 +143,19 @@ describe('ssr: renderClass', () => {
   test('escape class values', () => {
     expect(ssrRenderClass(`"><script`)).toBe(`&quot;&gt;&lt;script`)
   })
+
+  test('className', () => {
+    expect(
+      ssrRenderAttrs({
+        className: 'foo',
+      }),
+    ).toBe(` class="foo"`)
+    expect(
+      ssrRenderAttrs({
+        className: ['foo', 'bar'],
+      }),
+    ).toBe(` class="foo,bar"`)
+  })
 })
 
 describe('ssr: renderStyle', () => {
index 5a7baaac3a2013b8e5b52899e8c48f53938bba35..55ab0b1e408e44b8c220d45b599471dbda4fefeb 100644 (file)
@@ -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)
     }