From 3ea2dbc6a1eebb0bc7692893a134e636f2ab4e99 Mon Sep 17 00:00:00 2001 From: Paolo Ricciuti Date: Thu, 29 May 2025 14:44:05 +0200 Subject: [PATCH] fix: `bind:value` to select with stores (#16028) Co-authored-by: Rich Harris --- .changeset/honest-crabs-try.md | 5 +++++ .../3-transform/server/visitors/RegularElement.js | 4 ++-- .../samples/select-value-bind-store/_expected.html | 1 + .../samples/select-value-bind-store/main.svelte | 10 ++++++++++ 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 .changeset/honest-crabs-try.md create mode 100644 packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/_expected.html create mode 100644 packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/main.svelte diff --git a/.changeset/honest-crabs-try.md b/.changeset/honest-crabs-try.md new file mode 100644 index 0000000000..d8020ecea9 --- /dev/null +++ b/.changeset/honest-crabs-try.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: `bind:value` to select with stores diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/RegularElement.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/RegularElement.js index 65959938ac..0779195e2e 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/RegularElement.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/RegularElement.js @@ -119,8 +119,8 @@ export function RegularElement(node, context) { '=', left, value.expression.type === 'SequenceExpression' - ? b.call(value.expression.expressions[0]) - : value.expression + ? /** @type {Expression} */ (context.visit(b.call(value.expression.expressions[0]))) + : /** @type {Expression} */ (context.visit(value.expression)) ) ) ); diff --git a/packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/_expected.html b/packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/_expected.html new file mode 100644 index 0000000000..96d1d8b233 --- /dev/null +++ b/packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/_expected.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/main.svelte b/packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/main.svelte new file mode 100644 index 0000000000..cb3b554762 --- /dev/null +++ b/packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/main.svelte @@ -0,0 +1,10 @@ + + + \ No newline at end of file