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、操作简单,无需智星菠萝德州...
分享一款!aapoker辅助挂... 分享一款!aapoker辅助挂多功能透视工具,原来存在有挂(有挂解密)1、点击下载安装,aapoke...
必备科技!红龙poker辅助挂... 必备科技!红龙poker辅助挂多功能透视工具,都是存在有挂(确实有挂)红龙poker是不是有人用挂微...
9分钟了解!红龙poker辅助... 9分钟了解!红龙poker辅助挂多功能透视工具,竟然存在有挂(有挂工具)1)红龙poker有没有挂:...
今日头条!微扑克辅助挂多功能透... 今日头条!微扑克辅助挂多功能透视工具,本来存在有挂(有挂猫腻)1、微扑克辅助软件下载优化,微扑克底牌...
教学盘点!德普之星辅助挂多功能... 教学盘点!德普之星辅助挂多功能透视工具,真是是真的有挂(发现有挂)1、进入到德普之星是否有挂之后,能...
重大消息!aapoker辅助挂... 重大消息!aapoker辅助挂多功能透视工具,原来存在有挂(新版有挂)1、让任何用户在无需aapok...
终于懂了!WPK辅助挂多功能透... 终于懂了!WPK辅助挂多功能透视工具,好像存在有挂(详细教程)1、在WPK插件功能辅助器技巧中,中转...
实测交流!aapoker辅助挂... 实测交流!aapoker辅助挂多功能透视工具,确实真的是有挂(有挂规律)aapoker能透视中分为三...