ฉันกำลังทำงานกับแอปพลิเคชันส่วนหน้ากับ Angular 5 และฉันจำเป็นต้องซ่อนช่องค้นหาไว้ แต่เมื่อคลิกปุ่มช่องค้นหาควรจะแสดงและโฟกัส
ฉันได้ลองสองสามวิธีที่พบใน StackOverflow ด้วยคำสั่งหรือมากกว่านั้น แต่ไม่สามารถทำได้สำเร็จ
นี่คือโค้ดตัวอย่าง:
@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();
}
ไม่ได้ตั้งค่าช่องค้นหาให้โฟกัส
ฉันจะทำเช่นนั้นได้อย่างไร?