検索

ホームページ  >  に質問  >  本文

@ViewChild を使用して特定のテキスト領域にフォーカスを設定できますか?

フロントエンドの Angular アプリがあり、特定のテキストエリアにフォーカスを設定し、カーソルを点滅させて、ロード時にユーザーがテキストエリアに入力できるようにしたいと考えています。

グーグルで調べてみたところ、@ViewChild が正しい選択かもしれないと思いました。しかし、これまでのところ、私はそれを機能させることができました。

これは私のスタンドアロン ts ファイル全体です:

ああああ

P粉477369269P粉477369269486日前546

全員に返信(2)返信します

  • P粉144705065

    P粉1447050652023-09-09 13:28:26

    最初に、正しいオプションを @ViewChild に渡すことです:

    リーリー

    そうしないと、dom ノードの代わりにコンポーネント インスタンスが取得されます。

    *ngIf/*ngFor のような構造ディレクティブがない場合は、 {static: true, read: ElementRef} を渡すこともできます。これにより、elementRef が ngOnInit で使用可能になります 、それ以外の場合は AfterViewInit

    を使用する必要があります

    返事
    0
  • P粉436688931

    P粉4366889312023-09-09 11:08:33

    nativeElement がまだ DOM にないため、コードは機能しないと思います。 以下は動作します (コンソール (test1) では、ngAfterViewInit の先頭でnativeElementがnullであることがわかります)。おそらく 1000 ミリ秒を追加する必要があります:

    リーリー

    }

    ここでは、NativeElement が DOM に表示されるのを待機するより決定的な方法 (setTimeout よりも) を説明します。 要素が存在するのを関数に待機させる

    返事
    0
  • キャンセル返事