Ich habe die folgende Aufgabe, die ich erreichen möchte: Benutzer werden auf ein Eingabeelement eingeben und divs wird unter der Eingabe mit verwandten Ergebnissen angezeigt. Wenn ein Teil ausgewählt ist, wird sein Text dem Eingang zugewiesen. Es ist eine typische Autocomplete-Funktionalität.Wie referenziere ich einen Eingang in Angular 4?
|celio | -> this is the input |celio mendez|
<celio batista> -> div after selecting the div
<celio mendez> -> div
Meine Vorlage:
<input id="tbPlaceholder" (click)="search($event.target.value)" />
<div *ngFor="let address of data">
<div (click)="selectAdress($event.target.innerText)"> {{ address.street}}</div>
In meinem Code möchte ich die Eingabe mit der ID von tbPlaceholder verweisen, so kann ich es auf den Text des ausgewählten div eingestellt. Das Problem ist, dass ich don‘t wissen, wie die tbPlaceholder referenzieren
selectAdress(address: String) : void
{
//how to reference tbPlaceholder?
}
Lesen Sie die eckige Dokumentation über Formulare. Verwenden Sie ngModel (d. H. 2-Wege-Bindung) oder eine reaktive Form (d. H. FormControl). Sie müssen nicht auf die Eingabe verweisen. Nur um den Text im Modell zu ändern, an den die Eingabe gebunden ist. Gleiches für $ event.target.innerText. Verwenden Sie das DOM nicht. Verwenden Sie Ihr Modell und ersetzen Sie das durch 'selectAddress (address)'. –