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

}

相关内容

热门资讯

通报透视"wepok... 通报透视"wepoker真的可以开挂透视吗"开挂(透视)辅助神器(一分钟了解2026新版总结)通报透...
推荐辅助!广东雀神挂件定制,雀... 雀神挂件价格开挂透视是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加...
实测透视"wepok... 实测透视"wepoker德州透视软件是真的吗"开挂(透视)辅助安装(玩家亲测透明教程)实测透视"we...
教会辅助!广东雀神智能插件辅助... 教会辅助!广东雀神智能插件辅助脚本,微信小游戏万能修改器(最新技巧开挂辅助安装)广东雀神智能插件辅助...
正品透视"WePoK... 正品透视"WePoKer透视软件挂下载"开挂(透视)辅助平台(必备攻略新版2026教程)正品透视"W...
盘点辅助!蜜蜂大厅辅助插件,开... 您好:这款开心游戏辅助软件游戏是可以开挂的,确实是有挂的,很多玩家在这款开心游戏辅助软件游戏中打牌都...
实测透视"wepok... 实测透视"wepoker透视挂教程"开挂(透视)辅助脚本(查到实测大神讲解)实测透视"wepoker...
分析辅助!新荣耀大厅控制器,欢... 分析辅助!新荣耀大厅控制器,欢乐对决手游辅助(大神推荐开挂辅助插件) 【无需打开直接搜索加薇1367...
细节透视"wepok... 细节透视"wepoker开挂辅助方法"开挂(透视)辅助下载(玩家必备科技微扑克教程)细节透视"wep...
推荐辅助!新道游科技透视免费版... 【亲,新道游科技透视免费版 这款游戏可以开挂的,确实是有挂的,很多玩家在这款新道游科技透视免费版中打...