2014-06-29 10 views
6

mam papieru wejście elementemPolymer uzyskanie papieru wejściowego, wartość core-Pole tekstowe jest przy naciśnięciu

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

i mogę złapać zdarzenie po zwolnieniu przycisku.

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

Ale this.value zmienia się tylko wtedy, gdy ostrość jest usuwany z pola wejściowego, więc nie jestem w stanie odzyskać wartości elementów na chwilę przycisk zostaje zwolniony.

Jak mogę uzyskać wartości elementów w keypressHandler()?

Odpowiedz

9

Dla paper-inputcore-input (i), inputValue jest wartością w czasie rzeczywistym, a value jest popełnione wartość (aktualizowany, gdy użytkownik zaciera pole lub wciśnie ENTER).

Należy również rozważyć użycie obserwacji danych zamiast zdarzeń.

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

... 

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

to nie działa dla mnie. ale używam e.attributes ["inputValue"] w dart. –

+0

W kodzie prawie nigdy nie trzeba uzyskiwać dostępu do atrybutów, zamiast tego należy uzyskać dostęp do * właściwości *. Zakładając, że 'e' jest odniesieniem do Twojego elementu wejściowego, wypróbuj' e.inputValue'. –

+0

Używam dart i nie mogę uzyskać prawidłowej instancji klas, więc nie mają wymaganych właściwości. –