是否可以为元素设置焦点?
is it possible to set focus for element?
我在页面上有两个元素:
<input tabindex="0" type="text" (keydown)="keydownInputSearch($event)" (click)="showSearchResultContent = !showSearchResultContent" #inputSearch>
并阻止:
<div #searchList class="SearchList" *ngIf="showSearchResult()" tabindex="-1"></div>
问题是当块 #searchLis
存在时我无法将焦点设置回 #inputSearch
。
我试过:
this.inputSearch.nativeElement.focus();
没有错误,没有效果。我想问题是 #searchList
有 tabindex="-1"
而 #inputSearch
有更少:tabindex="0"
.
但默认输入应该自动获得焦点。
你快到了。只关注 ngAfterViewInit
中的输入
ngAfterViewInit() {
this.inputSearch.nativeElement.focus();
}
Stackblitz:https://stackblitz.com/edit/hello-angular-6-1svrgt
我在页面上有两个元素:
<input tabindex="0" type="text" (keydown)="keydownInputSearch($event)" (click)="showSearchResultContent = !showSearchResultContent" #inputSearch>
并阻止:
<div #searchList class="SearchList" *ngIf="showSearchResult()" tabindex="-1"></div>
问题是当块 #searchLis
存在时我无法将焦点设置回 #inputSearch
。
我试过:
this.inputSearch.nativeElement.focus();
没有错误,没有效果。我想问题是 #searchList
有 tabindex="-1"
而 #inputSearch
有更少:tabindex="0"
.
但默认输入应该自动获得焦点。
你快到了。只关注 ngAfterViewInit
ngAfterViewInit() {
this.inputSearch.nativeElement.focus();
}
Stackblitz:https://stackblitz.com/edit/hello-angular-6-1svrgt