Skip to content

Commit 66387a4

Browse files
committed
fix enumerated/boolean attr
1 parent 41acdc0 commit 66387a4

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

Diff for: src/server/optimizing-compiler/modules.js

+16-3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ import {
1111
isRenderableAttr
1212
} from 'web/server/util'
1313

14+
import {
15+
isBooleanAttr,
16+
isEnumeratedAttr
17+
} from 'web/util/attrs'
18+
1419
import type { StringSegment } from './codegen'
1520
import type { CodegenState } from 'compiler/codegen/index'
1621

@@ -56,11 +61,19 @@ export function genDOMPropSegments (
5661

5762
function genAttrSegment (name: string, value: string): StringSegment {
5863
if (plainStringRE.test(value)) {
64+
// force double quote
65+
value = value.replace(/^'|'$/g, '"')
66+
// force enumerated attr to "true"
67+
if (isEnumeratedAttr(name) && value !== `"false"`) {
68+
value = `"true"`
69+
}
5970
return {
6071
type: RAW,
61-
value: value === '""'
62-
? ` ${name}`
63-
: ` ${name}=${value}`
72+
value: isBooleanAttr(name)
73+
? ` ${name}="${name}"`
74+
: value === '""'
75+
? ` ${name}`
76+
: ` ${name}=${value}`
6477
}
6578
} else {
6679
return {

0 commit comments

Comments
 (0)