mirror of https://github.com/sveltejs/svelte
dont set undefined input value - fixes #1233
parent
1bb0728a5c
commit
dcd927630e
@ -0,0 +1,87 @@
|
||||
/* generated by Svelte vX.Y.Z */
|
||||
import {
|
||||
SvelteComponent,
|
||||
append,
|
||||
attr,
|
||||
detach,
|
||||
element,
|
||||
init,
|
||||
insert,
|
||||
listen,
|
||||
noop,
|
||||
run_all,
|
||||
safe_not_equal,
|
||||
set_input_value,
|
||||
space
|
||||
} from "svelte/internal";
|
||||
|
||||
function create_fragment(ctx) {
|
||||
var form, input, t, button, dispose;
|
||||
|
||||
return {
|
||||
c() {
|
||||
form = element("form");
|
||||
input = element("input");
|
||||
t = space();
|
||||
button = element("button");
|
||||
button.textContent = "Store";
|
||||
attr(input, "type", "text");
|
||||
input.required = true;
|
||||
|
||||
dispose = [
|
||||
listen(input, "input", ctx.input_input_handler),
|
||||
listen(form, "submit", ctx.handleSubmit)
|
||||
];
|
||||
},
|
||||
|
||||
m(target, anchor) {
|
||||
insert(target, form, anchor);
|
||||
append(form, input);
|
||||
|
||||
set_input_value(input, ctx.test);
|
||||
|
||||
append(form, t);
|
||||
append(form, button);
|
||||
},
|
||||
|
||||
p(changed, ctx) {
|
||||
if (changed.test && (input.value !== ctx.test)) set_input_value(input, ctx.test);
|
||||
},
|
||||
|
||||
i: noop,
|
||||
o: noop,
|
||||
|
||||
d(detaching) {
|
||||
if (detaching) {
|
||||
detach(form);
|
||||
}
|
||||
|
||||
run_all(dispose);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function instance($$self, $$props, $$invalidate) {
|
||||
let test = undefined;
|
||||
|
||||
function handleSubmit(event) {
|
||||
event.preventDefault();
|
||||
console.log('value', test);
|
||||
}
|
||||
|
||||
function input_input_handler() {
|
||||
test = this.value;
|
||||
$$invalidate('test', test);
|
||||
}
|
||||
|
||||
return { test, handleSubmit, input_input_handler };
|
||||
}
|
||||
|
||||
class Component extends SvelteComponent {
|
||||
constructor(options) {
|
||||
super();
|
||||
init(this, options, instance, create_fragment, safe_not_equal, []);
|
||||
}
|
||||
}
|
||||
|
||||
export default Component;
|
@ -0,0 +1,13 @@
|
||||
<script>
|
||||
let test = undefined;
|
||||
|
||||
function handleSubmit(event) {
|
||||
event.preventDefault();
|
||||
console.log('value', test);
|
||||
}
|
||||
</script>
|
||||
|
||||
<form on:submit={handleSubmit}>
|
||||
<input bind:value={test} type=text required>
|
||||
<button>Store</button>
|
||||
</form>
|
Loading…
Reference in new issue