fix: transform input defaults from spread#16481
Conversation
🦋 Changeset detectedLatest commit: fbfbbb3 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
|
I think Also this should also be applied to |
|
The |
I agree...but you can also do that with a |
|
Unfortunately, |
I don't believe so - textarea doesn't support a |
|
According to specs we have: So, <input value="foo" defaultValue="bar">because they both set the same attribute |
I would expect this to SSR into |
|
But it can be done only if JS is enabled. <input bind:value defaultValue="">to allow resetting a pre-filled form into an empty one. |
|
I've pushed the change, which will now ignore defaultValue/defaultChecked if the non-default equivalent is set. |
617e8e3 to
44ac3a9
Compare
|
It seems that this doesn't entirely work - the hydration emits |
|
But it is set back in the following |
|
Only when the props update after the initial hydration. |
|
For now, my last thought is to pass the spreaded objects to |
|
I'm not sure how to do that, I tried passing in the |
|
@daimond113 please check how it is now. |
|
Seems to work as expected. Thank you! |
7nik
left a comment
There was a problem hiding this comment.
I'm not happy with adding a new param to set_attributes, but I don't see a better solution.
|
thank you! |
Fixes #16479.
The default props:
defaultValue,defaultCheckedfor inputs were previously not renamed for SSR when set from an object spread, leading to unexpected results.Before submitting the PR, please make sure you do the following
feat:,fix:,chore:, ordocs:.packages/svelte/src, add a changeset (npx changeset).Tests and linting
pnpm testand lint the project withpnpm lint