2017-04-20 3 views
1

So habe ich diese TextArea-Change-Ereignis für Textfeld in ember

{{textarea value=model.description key-press="upload" required=true rows="5" aria-describedby=describedby}} 

, wie Sie über dem Tastendruck-Ereignis sehen funktioniert gut, dh es in der Lage ist, die Upload-Aktion

Jetzt auszulösen, wenn i Schlüssel ersetzen - Drücken Sie mit Ändern oder ändern Sie die Upload-Aktion Dosis nicht ausgelöst werden. Hier ist der Code

{{textarea value=model.description onchange="upload" required=true rows="5" aria-describedby=describedby}} 

Wie call Event Aktion in Glut für Textarea ??

Antwort

0

Sie können es tun, wie diese Glut einige Probleme mit Ereignissen auf Eingabehilfen hat.

<textarea value={{model.description}} onchange={{action "upload" value="target.value"}} > 
+0

das ist was ich versucht aus irgendeinem Grund die Upload-Aktion – Dom

+0

nicht genannt wird, dann Das Problem ist woanders kopieren Sie Ihren Code. –

0

TextArea erweitert TextSupport so sind hier die Ereignisse supported by inbuilt,

 
+--------------------+----------------+ 
|     |    | 
| event    | attribute name | 
+--------------------+----------------+ 
| new line inserted | insert-newline | 
|     |    | 
| enter key pressed | insert-newline | 
|     |    | 
| cancel key pressed | escape-press | 
|     |    | 
| focusin   | focus-in  | 
|     |    | 
| focusout   | focus-out  | 
|     |    | 
| keypress   | key-press  | 
|     |    | 
| keyup    | key-up   | 
|     |    | 
| keydown   | key-down  | 
+--------------------+----------------+ 

Wenn Sie Aktion auslösen soll für Onchange dann können Sie unter Optionen versuchen,

  1. Statt {{textarea Sie können normales <text-area wie das unten

    verwenden

    <textarea value={{appName}} onchange={{action 'onTextFiledChange'}} />

  2. onchange Ereignistriggerung auch von der focus-out für Text-Bereich,

    {{textarea value=appName focus-out='onTextFiledChange' }}

  3. Sie können Ihre eigene Komponente erstellen, indem Sie zur Verlängerung des TextArea

    {{my-textarea value=appName onTextFiledChange='onTextFiledChange'}}

Werfen Sie einen Blick at this twiddle

+0

die erste Option ist nicht Workinh kann die zweite Option verwenden, da ich nicht direkt Werte in TextArea – Dom

+0

einfügen Für die erste Option, wenn Sie es in Komponente verwenden dann müssen Sie 'OnTextFiledChange' Aktionen in der Komponente definiert, wenn es in der Vorlage sagen 'dashboard.hbs', dann sollten Sie die Aktionen' onTextFiledChange' im 'dashboard.js' Controller haben – kumkanillam