我看到了如何設置自動對焦通過創建一個指令或HTML自動對焦在angularjs提交了輸入的許多職位,是否有一個快速簡便的方法來設置角度聚焦(角2,角4等)如何設置自動對焦的角度或角2不angularjs
回答
在HTML添加#nameit
以獲得其在分量代碼的參考。
<input type="text" name="me" #nameit>
然後將自動添加到它。
@ViewChild('nameit') private elementRef: ElementRef;
public ngAfterViewInit(): void {
this.elementRef.nativeElement.focus();
}
<input type="text" #textInput placeholder="something" (focus)="someFunction(textInput.value)"/>
或
<input type="text" #textInput placeholder="something" (keyup.enter)="someMethod(textInput.value)"/>
我不需要爲NG-焦點換貨或對焦點執行的功能,我想這樣做自動對焦時,任何人都可以在該網頁上,如果該組件是那裏將焦點輸入字段。 –
Aniruddha Das的答案在某些情況下效果很好。然而,如果這被應用於與需要驗證基於模板的形式,您可能會收到以下錯誤:
ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after >it was checked. Previous value: 'false'. Current value: 'true'.
一種解決方法是包裝內ngInit(對焦()調用),而不是ngAfterViewInit() 。因此,在Aniduddha的答案延伸:
在HTML中#namedReference添加到組件:
<input type="text"
placeholder="Your full name"
name="name"
ngModel
#fullName="ngModel"
required
#nameit>
然後使用onNgInit()來自動對焦應用到其中:
@ViewChild('nameit') private elementRef: ElementRef;
ngOnInit() {
this.elementRef.nativeElement.focus();
}
yap。聽起來不錯! –
可以用最votted答案的爲例,但是你需要一些時間來把你的焦點的setTimeout內爲做一個「異步」的呼叫。在我的情況下,我需要將setTimeout放置在角材料的mat-autocomplete組件的選定過濾器中。
我的代碼看起來象
setTimeout(() => this.qtdeRef.nativeElement.focus());
- 1. 角度2:如何創建對象,將角度翻譯爲角度2
- 2. 角度輸入自動對焦不適用於IOS
- 3. 角度2 img寬度設置爲0
- 4. 無法啓動firefox的量角器自動化角度2 +角度cli
- 5. 防止自動對焦的TinyMCE的在角2
- 6. 如何在角度2中動態設置表頭?
- 7. 按ID設置焦點角
- 8. 角2 CLI設置
- 9. 角2路設置
- 10. 角度材質2:如何設置日期而不關閉mdMenu
- 11. 如何設置AngularJS 1.3.0的角度材料
- 12. 角度選擇設置顯示2
- 13. HTML5:是自動對焦=「自動對焦」或自動對焦
- 14. 動態的角度2
- 15. 如何調整對話角度2
- 16. 使用角度2而不是角度4使用角度cli
- 17. 角度2,角度2通用差異
- 18. 角度模式服務設置焦點不工作
- 19. 如何設置「data-value」角度2中div的屬性
- 20. 角度配置塊設置
- 21. 如何在角度2中設置ngStyle如果條件匹配
- 22. 如何禁用動畫角質材料2中的角度對話框4
- 23. 設置imageview的角度
- 24. 設置角度的路由
- 25. AngularJS輸入自動對焦
- 26. 如何在本地設置角度?
- 27. 如何保留角度2列表中的滾動位置?
- 28. 角2餅乾未設置
- 29. 角2測試設置
- 30. Ngrx角度2我應該如何設置初始狀態?
做到這一點'elem.focus()' – yurzui
放置位置elem.focus()。在complaint.ts右 –
並沒有爲我工作的全部,雖然它的HTML 5特性內。 –