Исправление ddidwyll, (текущая версия) :
<script>
const options = {
lake: [1, 2],
forest: [3, 4]
}
let first;
let second;
</script>
<select bind:value={first}>
<option>?</option>
{#each Object.keys(options) as option}
<option value={option}>
{option}
</option>
{/each}
</select>
{#if options[first]}
<select bind:value={second}>
<option>?</option>
{#each options[first] as option}
<option value={option}>
{option}
</option>
{/each}
</select>
{/if}
<p>
{first || "?"}/{second || "?"}
</p>
https://svelte.dev/repl/92766961645e484b8ea50a130a4cce02?version=3.24.1
Исходная версия ddidwyll, :
<script>
const options = {
lake: [1, 2],
forest: [3, 4]
}
let first;
let second;
</script>
<select bind:value={first}>
<option>?</option>
{#each Object.keys(options) as option}
<option value={option}>
{option}
</option>
{/each}
</select>
<select bind:value={second}>
<option>?</option>
{#each options[first] || [] as option}
<option value={option}>
{option}
</option>
{/each}
</select>
<p>
{first || "?"}/{second || "?"}
</p>
https://svelte.dev/repl/92766961645e484b8ea50a130a4cce02?version=3.24.1