私はAngularを初めて使用しており、これを使用してID "input1"の入力にフォーカスを設定しようとしています。その後、要素IDでフォーカスを設定する方法
@ViewChild('input1') inputEl: ElementRef;
後のコンポーネントで:
this.inputEl.nativeElement.focus();
しかし、それは動作していない私は、次のコードを使用しています。私は間違って何をしていますか?どんな助けでも大歓迎です。
私はAngularを初めて使用しており、これを使用してID "input1"の入力にフォーカスを設定しようとしています。その後、要素IDでフォーカスを設定する方法
@ViewChild('input1') inputEl: ElementRef;
後のコンポーネントで:
this.inputEl.nativeElement.focus();
しかし、それは動作していない私は、次のコードを使用しています。私は間違って何をしていますか?どんな助けでも大歓迎です。
一つは、私に答えを与えました。私はRenderer2を@ angular/coreから私のコンポーネントにインポートしなければなりませんでした。次に:
const element = this.renderer.selectRootElement('#input1');
setTimeout(() => element.focus(), 0);
ありがとうございます!
コンポーネント
import { Component, ElementRef, ViewChild, AfterViewInit} from '@angular/core';
...
@ViewChild('input1') inputEl:ElementRef;
ngAfterViewInit() {
this.inputEl.nativeElement.focus();
}
HTML @ Z.Bagleyによって参照される問題の回答の
<input type="text" #input1>
コンポーネントのIDが動的に生成される場合はどうなりますか? –
入力のIDを意味しますか?私はそれがポイブルではないと思う。 –
https://stackoverflow.com/questions/38307060/how-to-set-focus-on-element-with-binding –
入力はPrimeNgテンプレートの一部として動的に生成されます。私は要素のIDを設定するjqueryを使用しますが、私はそれに[フォーカス]を設定する方法がありません。別の方法がありますか? –
ありがとうございます@ Z.Bagley!あなたが言いました質問の答えの1つに解決策がありました。 –