@@ -52,6 +52,52 @@ describe('ssr: v-model', () => {
52
52
}"
53
53
` )
54
54
55
+ expect (
56
+ compileWithWrapper (
57
+ `<select v-model="model"><option v-for="i in items" :value="i"></option></select>` ,
58
+ ) . code ,
59
+ ) . toMatchInlineSnapshot ( `
60
+ "const { ssrRenderAttr: _ssrRenderAttr, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrLooseContain: _ssrLooseContain, ssrLooseEqual: _ssrLooseEqual, ssrRenderAttrs: _ssrRenderAttrs, ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
61
+
62
+ return function ssrRender(_ctx, _push, _parent, _attrs) {
63
+ _push(\`<div\${_ssrRenderAttrs(_attrs)}><select><!--[-->\`)
64
+ _ssrRenderList(_ctx.items, (i) => {
65
+ _push(\`<option\${
66
+ _ssrRenderAttr("value", i)
67
+ }\${
68
+ (_ssrIncludeBooleanAttr((Array.isArray(_ctx.model))
69
+ ? _ssrLooseContain(_ctx.model, i)
70
+ : _ssrLooseEqual(_ctx.model, i))) ? " selected" : ""
71
+ }></option>\`)
72
+ })
73
+ _push(\`<!--]--></select></div>\`)
74
+ }"
75
+ ` )
76
+
77
+ expect (
78
+ compileWithWrapper (
79
+ `<select v-model="model"><option v-if="true" :value="i"></option></select>` ,
80
+ ) . code ,
81
+ ) . toMatchInlineSnapshot ( `
82
+ "const { ssrRenderAttr: _ssrRenderAttr, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrLooseContain: _ssrLooseContain, ssrLooseEqual: _ssrLooseEqual, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
83
+
84
+ return function ssrRender(_ctx, _push, _parent, _attrs) {
85
+ _push(\`<div\${_ssrRenderAttrs(_attrs)}><select>\`)
86
+ if (true) {
87
+ _push(\`<option\${
88
+ _ssrRenderAttr("value", _ctx.i)
89
+ }\${
90
+ (_ssrIncludeBooleanAttr((Array.isArray(_ctx.model))
91
+ ? _ssrLooseContain(_ctx.model, _ctx.i)
92
+ : _ssrLooseEqual(_ctx.model, _ctx.i))) ? " selected" : ""
93
+ }></option>\`)
94
+ } else {
95
+ _push(\`<!---->\`)
96
+ }
97
+ _push(\`</select></div>\`)
98
+ }"
99
+ ` )
100
+
55
101
expect (
56
102
compileWithWrapper (
57
103
`<select multiple v-model="model"><option value="1" selected></option><option value="2"></option></select>` ,
0 commit comments