From aadda27bea9000fb0b5370572546bd4ec7ae5dde Mon Sep 17 00:00:00 2001 From: baseballyama Date: Fri, 31 Mar 2023 01:20:30 +0900 Subject: [PATCH] now handle only textarea --- src/compiler/compile/render_ssr/handlers/Element.ts | 4 ++-- .../render_ssr/handlers/shared/get_attribute_value.ts | 8 ++++++-- src/runtime/internal/ssr.ts | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/compiler/compile/render_ssr/handlers/Element.ts b/src/compiler/compile/render_ssr/handlers/Element.ts index d9254a7b86..80557f4291 100644 --- a/src/compiler/compile/render_ssr/handlers/Element.ts +++ b/src/compiler/compile/render_ssr/handlers/Element.ts @@ -63,7 +63,7 @@ export default function (node: Element, renderer: Renderer, options: RenderOptio const attr_name = node.namespace === namespaces.foreign ? attribute.name : fix_attribute_casing(attribute.name); const name = attribute.name.toLowerCase(); if (name === 'value' && node.name.toLowerCase() === 'textarea') { - node_contents = get_attribute_value(attribute); + node_contents = get_attribute_value(attribute, true); } else if (attribute.is_true) { args.push(x`{ ${attr_name}: true }`); } else if ( @@ -90,7 +90,7 @@ export default function (node: Element, renderer: Renderer, options: RenderOptio const name = attribute.name.toLowerCase(); const attr_name = node.namespace === namespaces.foreign ? attribute.name : fix_attribute_casing(attribute.name); if (name === 'value' && node.name.toLowerCase() === 'textarea') { - node_contents = get_attribute_value(attribute); + node_contents = get_attribute_value(attribute, true); } else if (attribute.is_true) { renderer.add_string(` ${attr_name}`); } else if ( diff --git a/src/compiler/compile/render_ssr/handlers/shared/get_attribute_value.ts b/src/compiler/compile/render_ssr/handlers/shared/get_attribute_value.ts index f431ea01db..2c5b4ae157 100644 --- a/src/compiler/compile/render_ssr/handlers/shared/get_attribute_value.ts +++ b/src/compiler/compile/render_ssr/handlers/shared/get_attribute_value.ts @@ -16,14 +16,18 @@ export function get_class_attribute_value(attribute: Attribute): ESTreeExpressio return get_attribute_value(attribute); } -export function get_attribute_value(attribute: Attribute): ESTreeExpression { +/** + * For value attribute of textarea, it will render as child node of `