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

}

相关内容

热门资讯

热点推荐!科乐填大坑作弊码,科... 热点推荐!科乐填大坑作弊码,科乐填大坑作弊码,详细app(发现有挂)1、用户打开应用后不用登录就可以...
实测发现!钱柜手游辅助,创思维... 实测发现!钱柜手游辅助,创思维激k有挂吗,详细工具(有挂实锤)创思维激k有挂吗破解侠是真的助透视。每...
总算了解!填大坑辅助视频,潮友... 总算了解!填大坑辅助视频,潮友会鱼虾蟹怎么发现软件控制,详细插件(证实有挂)1)潮友会鱼虾蟹怎么发现...
必备教程!九酷众游辅助,奇迹陕... 必备教程!九酷众游辅助,奇迹陕西游戏辅助器,详细app(有挂工具)1、用户打开应用后不用登录就可以直...
重磅来袭!天天微友开控制多少钱... 重磅来袭!天天微友开控制多少钱,福州十八扑外卦,详细工具(今日头条)1、上手简单,内置详细流程视频教...
研究成果!雀神麻将辅助透视,汇... 研究成果!雀神麻将辅助透视,汇城辅助,详细神器(有挂攻略)1、这是跨平台的雀神麻将辅助透视轻量版有透...
最新技巧!边锋辅助器小程序微信... 最新技巧!边锋辅助器小程序微信,微信边锋辅助下载,详细神器(真的有挂)1、下载好边锋辅助器小程序微信...
玩家必看!江西微乐南昌有辅助,... 玩家必看!江西微乐南昌有辅助,微乐广西小程序,详细方法(有挂辅助)1、超多福利:超高返利,海量正版游...
查到实测辅助!微信途游有辅助吗... 查到实测辅助!微信途游有辅助吗,雀姬手游辅助,详细插件(有挂功能)1、微信途游有辅助吗透视辅助软件激...
重大推荐!微乐卡五星祈福有用吗... 重大推荐!微乐卡五星祈福有用吗,微信闲来辅助神器免费,详细神器(有挂攻略)1、微信闲来辅助神器免费免...