mirror of https://github.com/sveltejs/svelte
fix one-way <select> bind with spread (#6512)
parent
0d3e105915
commit
8c66acfa92
@ -0,0 +1,25 @@
|
|||||||
|
export default {
|
||||||
|
async test({ assert, component, target, window }) {
|
||||||
|
const select = target.querySelector('select');
|
||||||
|
const [option1, option2] = select.childNodes;
|
||||||
|
|
||||||
|
let selections = Array.from(select.selectedOptions);
|
||||||
|
assert.equal(selections.length, 1);
|
||||||
|
assert.ok(!selections.includes(option1));
|
||||||
|
assert.ok(selections.includes(option2));
|
||||||
|
|
||||||
|
component.value = 'Hello';
|
||||||
|
|
||||||
|
selections = Array.from(select.selectedOptions);
|
||||||
|
assert.equal(selections.length, 1);
|
||||||
|
assert.ok(selections.includes(option1));
|
||||||
|
assert.ok(!selections.includes(option2));
|
||||||
|
|
||||||
|
component.spread = { value: 'World' };
|
||||||
|
|
||||||
|
selections = Array.from(select.selectedOptions);
|
||||||
|
assert.equal(selections.length, 1);
|
||||||
|
assert.ok(!selections.includes(option1));
|
||||||
|
assert.ok(selections.includes(option2));
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,9 @@
|
|||||||
|
<script>
|
||||||
|
export let value = 'World';
|
||||||
|
export let spread = {};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<select {value} {...spread}>
|
||||||
|
<option>Hello</option>
|
||||||
|
<option>World</option>
|
||||||
|
</select>
|
Loading…
Reference in new issue