WIP fix for #4731: preserveWhitespace in SSR

pull/4737/head
Benjamin W. Broersma 6 years ago
parent e3fef0f740
commit 33d8a65a95

@ -12,7 +12,11 @@ export default function(node: Element, renderer: Renderer, options: RenderOption
slot_scopes: Map<any, any>;
}) {
const children = remove_whitespace_children(node.children, node.next);
const children = (
options.preserveWhitespace
? node.children
: remove_whitespace_children(node.children, node.next)
);
// awkward special case
let node_contents;

@ -68,7 +68,11 @@ export default function(node: InlineComponent, renderer: Renderer, options: Rend
const slot_fns = [];
const children = remove_whitespace_children(node.children, node.next);
const children = (
options.preserveWhitespace
? node.children
: remove_whitespace_children(node.children, node.next)
);
if (children.length) {
const slot_scopes = new Map();

@ -18,8 +18,14 @@ export default function ssr(
const { name } = component;
const children = (
options.preserveWhitespace
? component.fragment.children
: trim(component.fragment.children)
);
// create $$render function
renderer.render(trim(component.fragment.children), Object.assign({
renderer.render(children, Object.assign({
locate: component.locate
}, options));

@ -0,0 +1,5 @@
export default {
compileOptions: {
preserveWhitespace: true
}
};

@ -0,0 +1,11 @@
<div>
<div>
<p> Some text </p>
</div>
<select>
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>

@ -0,0 +1,11 @@
<div>
<div>
<p> Some text </p>
</div>
<select>
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
Loading…
Cancel
Save