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();
  }

}

相关内容

热门资讯

最新消息!wepokerplu... 最新消息!wepokerplus辅助,德扑之星私人局透视,果然确实有挂(有人有挂)1)德扑之星私人局...
一分钟揭秘!黑侠破解wepok... 一分钟揭秘!黑侠破解wepoker,竞技联盟辅助插件,切实真的是有挂(有挂细节)1、该软件可以轻松地...
据悉!pokermaster脚... 据悉!pokermaster脚本,德普辅助app,其实真的是有挂(有挂方法)1、金币登录送、破产送、...
每日必看教程!aapoker公... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款游戏中打...
长期以来!wepoker是不是... 长期以来!wepoker是不是有人用挂,德普之星app安卓版破解版,果然是真的有挂(有挂存在)1、起...
总算清楚!wepoker黑侠辅... 总算清楚!wepoker黑侠辅助器正版下载,拱趴大菠萝挂怎么安装,好像真的有挂(有挂头条)拱趴大菠萝...
软件辅助挂!wepoker游戏... 软件辅助挂!wepoker游戏下载,德普之星透视辅助软件下载,果然存在有挂(了解有挂)1、用户打开应...
必备辅助推荐!智星德州插件,p... 必备辅助推荐!智星德州插件,pokemmo脚本辅助下载,好像是真的有挂(有挂秘籍)能透视中分为三种模...
无独有偶!aapoker透视方... 无独有偶!aapoker透视方法,德扑之星辅助工具如何设置,原来确实有挂(有挂规律)德扑之星辅助工具...
分享实测!wepoker透视脚... 分享实测!wepoker透视脚本下载,aapoker怎么设置提高好牌几率,好像是真的有挂(有挂方法)...