2014-06-29 13 views
6

ho carta ingresso elementoPolymer ottenere un valore di carta di ingresso del campo di core-ingresso alla pressione dei tasti

<paper-input 
    id="{{ id }}" 
    label="{{ label }}" 
    on-keyup="{{ keypressHandler }}" 
    value="{{ value }}"> 
</paper-input> 

e posso prendere evento quando il tasto viene rilasciato.

Polymer("app-input", { 
    ready: function() { 
     this.value = false; 
    }, 
    keypressHandler: function(event, detail, sender) { 
     console.log("inputChanged"); 
     console.log(this.value); 
    } 
}); 

Ma this.value è cambiato solo quando messa a fuoco è rimosso dal campo di input, quindi non sono in grado di recuperare il valore elementi al momento tasto viene rilasciato.

Come posso ottenere il valore degli elementi in keypressHandler()?

risposta

9

Per paper-input (e core-input), inputValue è il valore in tempo reale, e value è il commesso valore (aggiornato quando l'utente offusca il campo o visite entrare).

Inoltre, considerare l'utilizzo dell'osservazione dei dati anziché degli eventi.

<paper-input 
    id="{{ id }}" 
    label="{{ label }}" 
    inputValue="{{ value }}"> 
</paper-input> 

... 

Polymer("app-input", { 
    valueChanged: function() { 
     console.log("valueChanged"); 
     console.log(this.value); 
    } 
}); 
+0

questo non funziona per me. ma sto usando e.attributes ['inputValue'] in dart. –

+0

Nel codice non è quasi mai necessario accedere agli attributi, invece accedere a * proprietà *. Supponendo che 'e' sia un riferimento al tuo elemento di input, prova' e.inputValue'. –

+0

Uso la freccia e non riesco a ottenere un'istanza corretta delle classi, quindi non hanno le proprietà necessarie. –

Problemi correlati