视图初始化后的 Angular2 MdInputContainer 焦点

Angular2 MdInputContainer focus after view init

我有一个包含一些 md-input-container 元素的组件。我想在视图加载时将焦点放在第一个上。

我实现它的方法是创建一个 @ViewChild 属性 然后调用它的焦点 ngAfterViewInit。没有错误,但是焦点仍然不起作用。

export class AdminUserComponent implements AfterViewInit {
    @ViewChild(MdInputContainer)
    private firstInput: MdInputContainer;

    ngAfterViewInit() {
        this.firstInput._mdInputChild.focus();
    }
}

我尝试在 setTimeout 函数中设置焦点代码,但这并没有什么不同。 有人在视图加载时成功地将焦点设置在 material 输入上吗?

我找到问题了。我应该一直使用 MdInputDirective 而不是 MdInputContainer

export class AdminUserComponent implements AfterViewInit {
    @ViewChild(MdInputDirective)
    private firstInput: MdInputDirective;

    ngAfterViewInit() {
        this.firstInput.focus();
    }
}