Можно ли установить фокус для элемента? - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть два элемента на странице:

 <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".

Но по умолчанию ввод должен иметь фокус автоматически.

1 Ответ

1 голос
/ 20 февраля 2020

Ты почти у цели. Просто сфокусируйтесь на входе в ngAfterViewInit

 ngAfterViewInit() {
   this.inputSearch.nativeElement.focus();
 }

Stackblitz: https://stackblitz.com/edit/hello-angular-6-1svrgt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...