Je travaille sur une application frontale avec Angular 5, et j'ai besoin d'avoir une boîte de recherche cachée, mais sur le clic d'un bouton, la boîte de recherche doit être affichée et focalisée.
J'ai essayé quelques méthodes trouvées sur StackOverflow avec des directives ou autres, mais je n'y arrive pas.
Voici l'exemple de code :
@Component({
selector: 'my-app',
template: `
<div>
<h2>Hello</h2>
</div>
<button (click) ="showSearch()">Show Search</button>
<p></p>
<form>
<div >
<input *ngIf="show" #search type="text" />
</div>
</form>
`,
})
export class App implements AfterViewInit {
@ViewChild('search') searchElement: ElementRef;
show: false;
name:string;
constructor() {
}
showSearch(){
this.show = !this.show;
this.searchElement.nativeElement.focus();
alert("focus");
}
ngAfterViewInit() {
this.firstNameElement.nativeElement.focus();
}
La boîte de recherche n'est pas configurée pour se focaliser.
Comment puis-je faire ça ?