Angular 4: Viewchild установить фокус - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь управлять фокусом кнопки, не используя тег autofocus = true, но кажется, что он не работает должным образом, как вы думаете, нужна ли труба?

 <button #btn_focus>

 @ViewChild('btn_focus') firstNameElement: ElementRef;

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

Спасибо.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Ваш код работает, вы можете увидеть его в действии здесь:

https://stackblitz.com/edit/angular-6mszhb?file=app%2Fapp.component.ts

Бьюсь об заклад, ваша проблема - это просто открытая консоль разработчика, которая крадет фокус сразу после загрузки страницы. Попробуйте открыть этот стек с закрытой консолью разработчика (работает), затем откройте консоль (и сфокусируйте ее, чтобы курсор на ней мигал) и обновите страницу (не будет работать).

0 голосов
/ 25 апреля 2018

У меня тоже такая же проблема пробовала несколькими способами, но не сработало. наконец, я использовал код javascript, чтобы сосредоточиться на данном элементе HTML с атрибутом id.

function focusInputelement(id) {
        window.setTimeout(() => {
              document.getElementById(id).focus();
        }, 500);
    }
...