Angular响应式表单中如何将焦点设置到动态创建的输入框?
创始人
2024-10-30 08:00:47
0

可以通过使用 ViewChild 装饰器获取到动态创建的输入框所对应的 FormGroupDirective,然后在必要时通过调用 ElementRef 中的 focus() 方法即可将焦点设置到该输入框中。

示例代码:

在 .html 文件中,通过 ngFor 创建动态表单控件:

在 .ts 文件中,使用 ViewChild 装饰器获取动态创建的输入框所对应的 FormGroupDirective 并设置焦点:

import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import { FormGroup, FormControl } from '@angular/forms';

@Component({...})
export class MyComponent implements OnInit {

  @ViewChild(FormGroupDirective) formGroupDirective: FormGroupDirective;
  controls = ['firstName', 'lastName'];

  form = new FormGroup({
    firstName: new FormControl(),
    lastName: new FormControl()
  });

  constructor(private elem: ElementRef) {}

  ngOnInit(): void {}

  setFocus(input: HTMLInputElement): void {
    this.formGroupDirective.form.patchValue({
      [input.name]: input.value.trim()
    });
    this.elem.nativeElement.querySelector(`[formControlName="${input.name}"]`).focus();
  }

}

相关内容

热门资讯

今日头条!随意玩俱乐部辅助,欢... 今日头条!随意玩俱乐部辅助,欢乐掌心辅助,详细攻略(有挂工具)1、操作简单,无需随意玩俱乐部辅助手机...
黑科技教程!aa poker透... 黑科技教程!aa poker透视软件,德普之星辅助软件,一直确实有挂(有挂技术)1、德普之星辅助软件...
玩家必看秘籍!金杯竞技辅助,乐... 玩家必看秘籍!金杯竞技辅助,乐乐围棋入门插件,详细器(存在有挂)乐乐围棋入门插件能透视中分为三种模型...
黑科技辅助挂!poker红龙辅... 黑科技辅助挂!poker红龙辅助,智星德州辅助译码插件靠谱吗,本来真的是有挂(有挂教学)1、下载好智...
一分钟了解!边锋老友威海荣成辅... 一分钟了解!边锋老友威海荣成辅助,瓜瓜丰城手机辅助,详细教程(有挂助手)一、边锋老友威海荣成辅助可以...
刚刚!哈糖大菠萝辅助器,德扑之... 刚刚!哈糖大菠萝辅助器,德扑之星的辅助工具介绍,原来确实有挂(有挂方针)1、德扑之星的辅助工具介绍透...
终于清楚!老友广东辅助器,青橙... 终于清楚!老友广东辅助器,青橙竞技辅助器,详细攻略(确实有挂)1、青橙竞技辅助器免费辅助多个强度级别...
此事备受玩家关注!佛手在线大菠... 此事备受玩家关注!佛手在线大菠萝为什么都输,德普之星私人局透视,其实是有挂(有挂工具)德普之星私人局...
技术分享!雀友会广东潮汕苹果开... 技术分享!雀友会广东潮汕苹果开挂,卡农免费辅助,详细教程(有挂教学)该软件可以轻松地帮助玩家将雀友会...
有玩家发现!cloudpoke... 有玩家发现!cloudpoker外挂,德普之星有透视辅助吗,果然确实有挂(有挂秘籍)1、起透看视 德...