mirror of https://github.com/sveltejs/svelte
parent
255693e78f
commit
268ac95fde
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"svelte": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
fix: properly analyze group expressions
|
@ -0,0 +1,23 @@
|
|||||||
|
import { test } from '../../test';
|
||||||
|
|
||||||
|
export default test({
|
||||||
|
async test({ assert, target }) {
|
||||||
|
const checkboxes = /** @type {NodeListOf<HTMLInputElement>} */ (
|
||||||
|
target.querySelectorAll('input[type="checkbox"]')
|
||||||
|
);
|
||||||
|
|
||||||
|
assert.isFalse(checkboxes[0].checked);
|
||||||
|
assert.isTrue(checkboxes[1].checked);
|
||||||
|
assert.isFalse(checkboxes[2].checked);
|
||||||
|
|
||||||
|
await checkboxes[1].click();
|
||||||
|
|
||||||
|
const noChecked = target.querySelector('#output')?.innerHTML;
|
||||||
|
assert.equal(noChecked, '');
|
||||||
|
|
||||||
|
await checkboxes[1].click();
|
||||||
|
|
||||||
|
const oneChecked = target.querySelector('#output')?.innerHTML;
|
||||||
|
assert.equal(oneChecked, 'Mint choc chip');
|
||||||
|
}
|
||||||
|
});
|
@ -0,0 +1,17 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import { writable } from 'svelte/store';
|
||||||
|
let menu = ['Cookies and cream', 'Mint choc chip', 'Raspberry ripple'];
|
||||||
|
let order = writable({flavours: ['Mint choc chip'], scoops: 1 });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<form method="POST">
|
||||||
|
<input type="radio" bind:group={$order.scoops} name="scoops" value={1} /> One scoop
|
||||||
|
<input type="radio" bind:group={$order.scoops} name="scoops" value={2} /> Two scoops
|
||||||
|
<input type="radio" bind:group={$order.scoops} name="scoops" value={3} /> Three scoops
|
||||||
|
|
||||||
|
{#each menu as flavour}
|
||||||
|
<input type="checkbox" bind:group={$order.flavours} name="flavours" value={flavour} /> {flavour}
|
||||||
|
{/each}
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<div id="output">{$order.flavours.join('+')}</div>
|
Loading…
Reference in new issue