feat: default values for form elements #14289
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WIP
closes #8220
closes #9230
This implements default values for form elements. These default values take effect when the
reset
method of the surrounding form is invoked.input
withvalue/checked
it'sdefaultValue/defaultChecked
input
withbind:group
it'schecked
(hydration not working yet, not working for dynamic yet)select
it'sselected
on theoption
elements (hydration not working yet, not working for dynamic yet)Open questions:
defaultValue/defaultChecked
the value of that takes precedence on the initial render in case thevalue/checked
value isundefined/null
. That also means that in case ofbind:value/checked
the default value will be propagated back to that variable. Ok?bind:group
? It's tricky there because for a group of checkboxes, we currently require an array to be set (else you get runtime errors), and so the value isn't falsy, and the empty array could be on purpose / hard to say if the default checked should take precedence there initiallybind:value
on selects withmultiple
, with same problem as forbind:group
on checkboxesBefore submitting the PR, please make sure you do the following
feat:
,fix:
,chore:
, ordocs:
.Tests and linting
pnpm test
and lint the project withpnpm lint