File tree Expand file tree Collapse file tree 1 file changed +15
-10
lines changed
packages/svelte/src/internal/client/dom/elements Expand file tree Collapse file tree 1 file changed +15
-10
lines changed Original file line number Diff line number Diff line change @@ -360,16 +360,21 @@ export function set_attributes(
360360 if ( value == null && ! is_custom_element && ! is_default ) {
361361 attributes [ key ] = null ;
362362
363- // removing value/checked also removes defaultValue/defaultChecked — preserve
364- let default_value = /** @type {HTMLInputElement } */ ( element ) . defaultValue ;
365- let default_checked = /** @type {HTMLInputElement } */ ( element ) . defaultChecked ;
366-
367- element . removeAttribute ( key ) ;
368-
369- if ( key === 'value' ) {
370- /** @type {HTMLInputElement } */ ( element ) . defaultValue = default_value ;
371- } else if ( key === 'checked' ) {
372- /** @type {HTMLInputElement } */ ( element ) . defaultChecked = default_checked ;
363+ if ( name === 'value' || name === 'checked' ) {
364+ // removing value/checked also removes defaultValue/defaultChecked — preserve
365+ let input = /** @type {HTMLInputElement } */ ( element ) ;
366+
367+ if ( name === 'value' ) {
368+ let prev = input . defaultValue ;
369+ input . removeAttribute ( name ) ;
370+ input . defaultValue = prev ;
371+ } else {
372+ let prev = input . defaultChecked ;
373+ input . removeAttribute ( name ) ;
374+ input . defaultChecked = prev ;
375+ }
376+ } else {
377+ element . removeAttribute ( key ) ;
373378 }
374379 } else if (
375380 is_default ||
You can’t perform that action at this time.
0 commit comments