视图init之后的Angular2 MdInputContainer焦点

时间:2017-02-06 13:17:48

标签: javascript angular angular-material2

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

我实现这一点的方法是创建一个@ViewChild属性,然后调用焦点ngAfterViewInit。没有错误,但重点仍然无效。

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

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

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

1 个答案:

答案 0 :(得分:1)

我弄明白了这个问题。我应该使用MdInputDirective代替MdInputContainer

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

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