2015-11-14 30 views
9

ho il seguente codice:Aurelia selezionare il valore iniziale

javascript:

export class App { 
    values = [ 
    {id: 0, text:'Text 1'}, 
    {id: 1, text:'Text 2'}, 
    {id: 2, text:'Text 3'} 
    ]; 

    obj = { 
    selected: 2 
    }; 
} 

html:

<template> 
    <select value.bind="obj.selected"> 
    <option repeat.for="option of values" value="${option.id}">${option.text}</option> 
    </select> 
</template> 

Il problema è che il valore iniziale del select non è l'opzione thirth come previsto.

Cosa devo fare per farlo funzionare correttamente?

Plunk example

+2

@blm - Non credo che la mia domanda è un duplicato di quello che si è collegato ... –

risposta

10

La proprietà è id del numero tipo così si vorrà fare in modo "valore" di ogni elemento opzione è anche il numero di tipo. Ciò significa che non si desidera utilizzare un binding di interpolazione di stringhe (ad esempio ${...}) poiché questi convertono sempre il valore di origine in una stringa. Inoltre, non si desidera utilizzare l'attributo value dell'elemento opzione per memorizzare il valore poiché questo attributo accetta solo stringhe. Usa invece la proprietà model che è una proprietà speciale che il sistema di legami aurelia comprende e può memorizzare qualsiasi tipo. Questi tipi di scenari sono discussi nei documenti here.

TLDR: cambiare il vostro elemento opzione di rilegatura a questo:

<option repeat.for="option of values" model.bind="option.id">${option.text}</option> 
+0

L'attuale pagina doc Aurelia per selezionare è qui: http://aurelia.io/hub.html#/doc/article/aurelia/binding/latest/binding-selects/1 :) –

Problemi correlati