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