Рекурсивный компонент Angular2 - установить автофокус ввода - PullRequest
0 голосов
/ 04 февраля 2019

Я создаю древовидное представление, похожее на workflowy (в основном для практики), и эта простая версия работает, но я не могу понять, как установить фокус ввода при добавлении нового компонента.

Я попытался добавить свойство автофокуса на входе и использовать ViewChild, чтобы установить фокус после ngAfterViewInit.Кажется, это работает при добавлении первого компонента, но не после этого.

Вот стек, который показывает, где я нахожусь:

https://stackblitz.com/edit/angular-input-autofocus

1 Ответ

0 голосов
/ 04 февраля 2019

Более простой способ "автофокусировки" в недавно созданном компоненте - использовать ViewChildren

  @ViewChildren() items!: QueryList<ElementRef>;

  ngAfterViewInit() {
    this.items.changes.subscribe((r) => { 
         //If you want to focus to first
         this.items.first().nativeElement.focus();
         //or if you want to focus to last
         this.items.last().nativeElement.focus();

  }

Но, видя ваш стек, я не могу представить, что вы хотите сделать

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