Winkel 2/4 setzen Sie den Fokus auf input-element
Wie kann ich einstellen, dass der Fokus auf einem input durch (click -) event? Ich habe diese Funktion im Ort, aber ich bin eindeutig etwas fehlt (Winkel-Neuling hier)
sTbState: string = 'invisible';
private element: ElementRef;
toggleSt() {
this.sTbState = (this.sTbState === 'invisible' ? 'visible' : 'invisible');
if (this.sTbState === 'visible') {
(this.element.nativeElement).find('#mobileSearch').focus();
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die
@ViewChild
Dekorateur für diese. Dokumentation ist bei https://angular.io/api/core/ViewChild.Hier ist eine funktionierende plnkr: http://plnkr.co/edit/KvUmkuVBVbtL1AxFvU3F
Diese Kernaussage der code kommt auf, geben einen Namen für das input-element und die Verkabelung bis ein click-Ereignis in Ihrer Vorlage.
In der Komponente, implementieren
@ViewChild
oder@ViewChildren
suchen für das element(s), dann implementieren Sie den click-handler zum ausführen der Funktion, die Sie brauchen.Klicken Sie nun auf die Taste und dann die blinkende Einfügemarke erscheint innerhalb des Eingabefeldes. Verwendung von
ElementRef
wird nicht empfohlen, da ein Sicherheitsrisiko,wie XSS-Angriffe ( https://angular.io/api/core/ElementRef ), und weil es Ergebnisse in weniger tragbaren Komponenten.
Hüten Sie sich auch davor, dass die
inputEl
variable wird erst zur Verfügung, wennngAfterViewInit
event feuert.Input-element als native Elemente in der ts-Datei.
müssen wir
this.trgFocusEl.nativeElement.focus();
imsetTimeout()
dann werde es funktionieren, sonst wird es werfen undefined Fehler.versuchen Sie dies :
in Sie HTML Datei:
in Ihrem ts Datei :
ts
- Datei?versuchen.