Angular2递归组件-设置输入自动对焦

时间:2019-02-03 21:52:27

标签: angular recursion input autofocus

我正在创建一个类似于工作流的树形视图(主要用于实践),这个简单的版本正在运行,但是我不知道添加新组件时如何设置输入焦点。

我尝试在输入上添加autofocus属性,并使用ViewChild在ngAfterViewInit之后设置焦点。添加第一个组件后似乎可以正常工作,

这里是一次闪电战,显示我在哪里:

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

1 个答案:

答案 0 :(得分:0)

在最近创建的组件中实现“自动对焦”的简便方法是使用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();

  }

但是,看到你的堆叠突飞猛进,我无法想象你想做什么