angular - How to focus ion-searchbar on button click -
i trying focus ion-searchbar
on button click not working. code
typescript
@viewchild('search') search:elementref; focusbutton(){ console.log(this.search); //searchbar {_config: config, _elementref: elementref, _renderer: rendereradapter, _componentname: "searchbar", _mode: "md", …} console.log(this.search.nativeelement); // null this.search.nativeelement.focus(); // cannot read property 'focus' of undefined this.search.nativeelement.setfocus(); // cannot read property 'setfocus' of undefined }
html
<ion-searchbar #search (ioncancel)="cancelsearch($event)" [showcancelbutton]="true" [(ngmodel)]="artists"></ion-searchbar> <ion-buttons end> <button [hidden]="showsearch" (click)="(showsearch = !showsearch) && focusbutton()" ion-button icon-only> <ion-icon name="search"></ion-icon> </button> </ion-buttons>
the console output above in comments code.
hope can using below code.just try using settimeout
shown below.
.html
<ion-searchbar #search (ioncancel)="cancelsearch($event)" [showcancelbutton]="true" [(ngmodel)]="artists"></ion-searchbar> <ion-buttons end> <button [hidden]="showsearch" (click)="(showsearch = !showsearch) && focusbutton()" ion-button icon-only> <ion-icon name="search"></ion-icon> </button> </ion-buttons>
.ts
@viewchild('search') search : any; focusbutton(): void { settimeout(() => { this.search.setfocus(); }, 500); }
Comments
Post a Comment