我看到很多关于如何通过创建指令或HTML自动对焦在angularjs中设置自动对焦的帖子,是否有一种快速简便的方法来设置焦点角度(角度2,角度4等)
Ani*_*Das 15
在你的html add #nameit
中获取它在组件代码中的引用.
<input type="text" name="me" #nameit>
Run Code Online (Sandbox Code Playgroud)
然后将自动污垢应用到其中.
@ViewChild('nameit') private elementRef: ElementRef;
public ngAfterViewInit(): void {
this.elementRef.nativeElement.focus();
}
Run Code Online (Sandbox Code Playgroud)
Aniruddha Das的答案在某些情况下效果很好.但是,如果将此应用于具有必需验证的基于模板的表单,则可能会收到以下错误:
ExpressionChangedAfterItHasBeenCheckedError:表达式已经>检查后发生了变化.上一个值:'false'.当前值:'true'.
解决此问题的一种方法是将focus()调用包含在ngInit()中而不是ngAfterViewInit()中.因此,延伸到Aniduddha的答案:
在你的html中,将#namedReference添加到组件中:
<input type="text"
placeholder="Your full name"
name="name"
ngModel
#fullName="ngModel"
required
#nameit>
Run Code Online (Sandbox Code Playgroud)
然后使用onNgInit()将自动焦点应用到其中:
@ViewChild('nameit') private elementRef: ElementRef;
ngOnInit() {
this.elementRef.nativeElement.focus();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18824 次 |
最近记录: |