视图初始化后的 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();
}
}
我有一个包含一些 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();
}
}