2017-06-28 4 views
1

Ich habe ein Eingabefeld und bei der Eingabe möchte ich nach Elementen suchen und auch das Textfeld deaktivieren, während ich die Suche im Hintergrund durchführe, so dass keine weiteren Buchstaben diese Eingabe eingeben können. Nach Abschluss der Suchfunktion sollte der Fokus jedoch das Sucheingabefeld sein, damit der Benutzer mit der Eingabe beginnen kann.Eingabefeld während der Suche deaktivieren und Fokus nach Abschluss setzen

Html:

<input [disabled]="(displayLoader > 0)" [ngModel]="''" (ngModelChange)="updateData($event)" class="form-control-search" placeholder="Search"/> 

Komponente:

updateData(event) { 
    this.displayLoader = 1 
    //search function 
    //on completion 
    this.displayLoader = 0; 
} 

Hier habe ich deaktiviert, aber auf die Fertigstellung ist es nicht das Eingabefeld fokussiert und auch nicht geben kann, bis der Benutzer manuell klicken das Eingabefeld.

+0

Sie versuchen, das Eingabefeld zu deaktivieren, während die Suchdaten durch den Kundendienst abgeholt wird? – Abrar

+0

nach seiner Beschreibung, will er Textbox deaktivieren, während Suche im Back-End durchführen und nach Abschluss sollte es Fokus –

+0

@Abrar Es ist mir unklar, als jemand, der mit Typoskript nicht vertraut ist, warum diese Tag-Zugabe notwendig ist. Würde es Ihnen etwas ausmachen, klarzustellen, welche Funktion exklusiv für TypeScript und nicht für JavaScript verfügbar ist? Was macht dieses Beispiel inkompatibel mit einer Vanilla-on-JS-Konfiguration von Vanilla? – Sebivor

Antwort

2

versuchen Sie diesen Code. Hilft das. html

<input [disabled]="(displayLoader > 0)" [ngModel]="''" #focusable (ngModelChange)="updateData($event,focusable)" class="form-control-search" placeholder="Search"/> 

Komponente

updateData(event,el) { 
     this.displayLoader = 1 
     //search function 
     //on completion 
     this.displayLoader = 0; 
    el.focus(); 
    } 
+0

Diese habe ich bereits versucht, aber dieser Fokus funktioniert nicht richtig. Dh wir müssen manuell auf dieses Eingabefeld klicken, um mit der Eingabe zu beginnen. Fokussierung auf das gleiche Element funktioniert nicht –

+0

siehe hier kann hilfreich sein, https://blog.thecodecampus.de/angular-2-set-focus-element/ –

+0

Danke Mann, arbeitet Focus richtig mit dem eckigen2-Fokus. hier möchte ich konzentrieren und deaktiviert zusammen, die nicht funktioniert. –

Verwandte Themen