mirror of https://github.com/sveltejs/svelte
fix: don't set selected option(s) if value is unbound or not passed (#8329)
fix: #5644 --------- Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>pull/8335/head
parent
b56dfe51a8
commit
60a205edb8
@ -0,0 +1,12 @@
|
|||||||
|
export default {
|
||||||
|
test({ assert, component, target }) {
|
||||||
|
const options = target.querySelectorAll('option');
|
||||||
|
|
||||||
|
assert.equal(options[0].selected, true);
|
||||||
|
assert.equal(options[1].selected, false);
|
||||||
|
|
||||||
|
component.value = ['2'];
|
||||||
|
assert.equal(options[0].selected, false);
|
||||||
|
assert.equal(options[1].selected, true);
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,8 @@
|
|||||||
|
<script>
|
||||||
|
import Select from './select.svelte';
|
||||||
|
|
||||||
|
export let value = ['1'];
|
||||||
|
export let other = {};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<Select {value} {other} />
|
@ -0,0 +1,9 @@
|
|||||||
|
<script>
|
||||||
|
export let value;
|
||||||
|
export let other;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<select multiple bind:value {...other}>
|
||||||
|
<option value="1">option 1</option>
|
||||||
|
<option value="2">option 2</option>
|
||||||
|
</select>
|
@ -0,0 +1,13 @@
|
|||||||
|
export default {
|
||||||
|
test({ assert, component, target }) {
|
||||||
|
const options = target.querySelectorAll('option');
|
||||||
|
|
||||||
|
assert.equal(options[0].selected, true);
|
||||||
|
assert.equal(options[1].selected, false);
|
||||||
|
|
||||||
|
// Shouldn't change the value because the value is not bound.
|
||||||
|
component.value = ['2'];
|
||||||
|
assert.equal(options[0].selected, true);
|
||||||
|
assert.equal(options[1].selected, false);
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,7 @@
|
|||||||
|
<script>
|
||||||
|
import Select from './select.svelte';
|
||||||
|
|
||||||
|
export let attrs = { value: ['1'] };
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<Select {attrs} />
|
@ -0,0 +1,8 @@
|
|||||||
|
<script>
|
||||||
|
export let attrs;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<select multiple {...attrs}>
|
||||||
|
<option value="1">option 1</option>
|
||||||
|
<option value="2">option 2</option>
|
||||||
|
</select>
|
Loading…
Reference in new issue