Я пытаюсь управлять фокусом кнопки без использования тега autofocus = true, но похоже, что это не работает должным образом, как вы думаете, нужен канал?
<button #btn_focus>
@ViewChild('btn_focus') firstNameElement: ElementRef;
ngAfterViewInit(){
this.firstNameElement.nativeElement.focus();
}
Спасибо.





У меня тоже та же проблема, я пробовал несколько способов, но не работал. наконец, я использовал код javascript, чтобы сосредоточиться на заданном элементе HTML с идентификатором атрибута.
function focusInputelement(id) {
window.setTimeout(() => {
document.getElementById(id).focus();
}, 500);
}
Ваш код работает, вы можете увидеть его в действии здесь:
https://stackblitz.com/edit/angular-6mszhb?file=app%2Fapp.component.ts
Бьюсь об заклад, ваша проблема - это просто открытая консоль разработчика, которая крадет фокус сразу после загрузки страницы. Попробуйте открыть этот stackblitz с закрытой консолью разработчика (работает), затем откройте консоль (и сфокусируйте ее, чтобы ваш курсор там мигал) и обновите страницу (не будет работать).
Большое спасибо, я очень признателен, но со своей стороны у меня есть эта ошибка NgtableComponent.html: 38 ERROR TypeError: Невозможно прочитать свойство nativeElement для undefined, возможно, потому, что я работаю с модальной страницей?
ну без кода это сложно сказать. попробуйте воспроизвести эту ошибку в stackblitz
Ваш код работает, посмотрите его в действии здесь: stackblitz.com/edit/angular-6mszhb?file=app%2Fapp.component. ts