2013-09-07 10 views
22

Gibt es trotzdem für diese TexteingabeAktion gibt in ember

<input type="text" aria-controls="existing-user-table" placeholder="Search"> 

eine Aktion auf dem Controller zu triggern, wenn der Benutzer eingeben trifft?

Ich mag es nicht, um es in einem Formular-Tag zu umschließen oder erstellen Sie eine Schaltfläche, nur diese Eingabe Textfeld.

+0

wie der Klang dieser Frage – engma

Antwort

29

Verwenden Sie den Helper {{input}} - wenn Sie einen Aktionsparameter hinzufügen, wird diese Aktion auf dem Controller ausgelöst, wenn der Benutzer die Eingabetaste drückt. Also:

{{input action="myAction" aria-controls="existing-user-table" placeholder="Search"}} 

Die input helper api docs diese Fähigkeit nicht erwähnen, aber die Helfer nur Wraps Ember.TextField

Auch ist es möglich, die Aktion auf keyPress auszulösen statt eingeben, indem Sie die Angabe onEvent property:

{{input action="myAction" onEvent="keypress" aria-controls="existing-user-table" placeholder="Search"}} 
+4

Die 'on =„keyPress“sein sollte'. –

+1

Ich habe {{input key-press = "someAction"}} [teilweise hier dokumentiert] (http://emberjs.com/api/classes/Ember.TextSupport.html) - obwohl es leider nicht die eigentliche Taste gedrückt hat in dem Fall. – TrevTheDev

+0

In meinem Fall, Einstellung Aktion fängt nicht den Return-Schlüssel in ember-1.8.0-beta.1 – aceofspades

25

Der Eingabe-Helper hat eine insert-newline Aktion, die ausgelöst wird, wenn der Benutzer die Eingabetaste drückt.

{{input type='text' aria-controls='existing-user-table' placeholder='Search' insert-newline='myAction'}} 

Text Input Helpers

Insert Newline docs

+3

Dies sollte als Antwort akzeptiert werden. Wenn Sie '' 'action'' wie zuvor vorgeschlagen verwenden, können Sie keyCode nicht abrufen, da Sie keinen Zugriff auf das ursprüngliche Ereignis haben. Danke für die Rettung meiner Zeit Kumpel! – Lucas

+0

Wie übergibt man einen Parameter an 'myAction'? –

13

Von Ember v1.13.0 die Aktion am Eingang Helfer depricated ist, dass wir den Einsatz enter oder key-press statt action

Siehe Ember Docs

{{input value=someValue enter='someAction'}} 
verwenden sollten Diese

lösen die genannte Aktion, wenn der Benutzer Druck auf der Texteingabe eingeben

Verwandte Themen