【发布时间】:2020-01-08 20:41:44
【问题描述】:
我有一个带有选择输入的苗条组件,它填充了来自外部源的数据。
如何绑定选择输入以选择特定选项。
如果我将选项值或选定值设为静态,它似乎可以正常工作,但如果两者都是动态的,则不会。
这是我的代码
<script>
export let params = {}
let seasons = [];
let selected = '';
onMount(async () => {
selected = params.seasonId;
/* fetch is called here and returns a list of seasons, which is passed to seasons array */
})
</script>
<p><select bind:value={selected}>
<option value="" disabled>-- Select Season --</option>
{#each seasons as season}
<option value={season.id}>{season.description}</option>
{/each}
</select></p>
<p>param: {params.seasonId}</p>
<p>Selected: {selected}</p>
从代码来看,这是 HTML 输出。
<p><select>
<option value="" disabled>-- Select Season --</option>
<option value="4">2019</option>
<option value="3">2018</option>
<option value="2">2017</option>
<option value="1">2016</option>
</select></p>
<p>param: 3</p>
<p>Selected: 3</p>
我希望页面加载后,选项 3“2018”会被选中,但不会改变,“-- Select Season --”是选中的选项。
【问题讨论】:
标签: data-binding drop-down-menu svelte-3