Die Komponente Reactive Native TextInput unterstützt das Ereignis onSubmitEditing
if nicht Es wurde als mehrzeiliger Eingang angegeben.
Gibt es eine Möglichkeit zu erkennen, wenn der Benutzer nach Eingabe eines Textes die Taste enter / submit / send (abhängig von der Tastaturbelegung) drückt?
Ich weiß, das ist ein alter Post, aber ich bin hier von Google gestolpert und wollte meine Lösung teilen. Aufgrund einiger Dinge, die im Fall von submit passieren mussten, oder einfach wegen Unschärfe, konnte ich onBlur
nicht verwenden, um submit zu interpretieren.
Ich habe einen onKeyPress
Listener verwendet, um den Schlüssel Enter
zu verfolgen, und bin dann mit dem Submit fortgefahren. ( Hinweis Dies wird derzeit nur in iOS unterstützt, bis dieser PR zusammengeführt wird .)
Beachten Sie, dass blurOnSubmit
weiterhin erforderlich ist, um zu verhindern, dass der Rückgabewert an den onChangeText
-Handler übergeben wird.
Unter iOS sollte das entsprechend der Dokumentation funktionieren.
Verwenden Sie die onBlur-Funktion:
Rückruf, der aufgerufen wird, wenn die Texteingabe unscharf ist
In Kombination mit dem ios nur blurOnSubmit:
Wenn dies der Fall ist, wird das Textfeld bei der Übertragung unscharf. Der Standardwert ist true für einzeilige Felder und false für mehrzeilige Felder. Beachten Sie, dass Bei mehrzeiligen Feldern bedeutet das Einstellen von blurOnSubmit auf true, dass das Drücken von return verwischt das Feld und löst das onSubmitEditing-Ereignis aus anstatt einen Zeilenumbruch in das Feld einzufügen.
Ich werde versuchen, das zu testen.
Bearbeiten: Tests abgeschlossen
blurOnSubmit funktioniert nicht wie es in reaction-native 0.14.2 soll. Auch wenn sie auf "True" gesetzt sind, erstellen Sie mit der Return / Done-Taste und der Enter-Taste einfach eine Newline und verwischen das Feld nicht.
Ich kann das momentan auf neueren Versionen nicht testen.
Probieren Sie es aus! Es funktioniert auch in der Mitte der Zeile!
%Vor%}
Tags und Links react-native