Cum de a lega valoarea unui select de intrare, cu opțiuni create dinamic în svelte

voturi
0

Am o componentă zveltă, cu o intrare select, care este populat cu date dintr-o sursă externă.

Cum pot lega de selectare de intrare, astfel încât o anumită opțiune este selectată.

Dacă am face valorile opțiune sau valoarea selectată statică, pare să funcționeze bine, dar nu în cazul în care ambele sunt dinamice.

Aici este codul meu

<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>

Din acest cod, acest lucru este de ieșire 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>

Mă aștept că, odată ce pagina a încărcat, opțiunea 3 „2018“ va fi selectat, dar nu se schimbă și „- Select Season -“ este opțiunea selectată.

Întrebat 09/10/2019 la 12:56
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
0

În acest exemplu simplificat al codului acest lucru pare să funcționeze: https://svelte.dev/repl/d95c63158f944ce996aaef092e4bff73?version=3.12.1

Trebuie să rețineți că dacă modificați valoarea inițială selectată pentru

let selected = 3;

Face nu mai funcționează, astfel încât problemele se află în valoarea params.seasonId

Publicat 10/10/2019 la 14:48
sursa de către utilizator

voturi
0

Acest lucru ar trebui să funcționeze bine.

Fără a vedea mai mult cod, presupunerea mea ar fi că params.seasonIdși season.idsunt de tip diferit (cel șir și celălalt număr)

Publicat 09/10/2019 la 13:25
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more