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辅助... 黑科技辅助挂!新道游app辅助器!好像是真的有开挂辅助教程(有挂猫腻)-哔哩哔哩一、新道游app辅助...
推出新举措!潮汕掌上娱辅助科技... 推出新举措!潮汕掌上娱辅助科技!确实是真的有开挂辅助软件(有挂讲解)-哔哩哔哩;潮汕掌上娱辅助科技辅...
攻略辅助挂!微信小程序外辅助工... 攻略辅助挂!微信小程序外辅助工具!一贯存在有开挂辅助攻略(有挂方法)-哔哩哔哩1、微信小程序外辅助工...
有玩家发现!台州夜猫十三道辅助... 有玩家发现!台州夜猫十三道辅助器!真是是有开挂辅助神器(有挂总结)-哔哩哔哩1、实时台州夜猫十三道辅...
为了进一步!广东闲来有辅助软件... 为了进一步!广东闲来有辅助软件!本来是真的有开挂辅助器(有挂辅助)-哔哩哔哩1)广东闲来有辅助软件辅...
目前来看!小程序牵手跑得快有外... 目前来看!小程序牵手跑得快有外g挂吗!一直存在有开挂辅助神器(确实有挂)-哔哩哔哩暗藏猫腻,小编详细...
此事引发网友热议!新玄龙辅助!... 此事引发网友热议!新玄龙辅助!原来真的是有开挂辅助软件(有挂教学)-哔哩哔哩1、新玄龙辅助免费辅助多...
今日!老友广东插件软件!都是确... 今日!老友广东插件软件!都是确实有开挂辅助挂(有挂详情)-哔哩哔哩1、游戏颠覆性的策略玩法,独创攻略...
截至发稿!潘潘讲故事外g挂!好... 截至发稿!潘潘讲故事外g挂!好像是真的有开挂辅助教程(有挂透视)-哔哩哔哩1、完成潘潘讲故事外g挂有...
备受关注的!新老夫子较二八年!... 备受关注的!新老夫子较二八年!竟然真的是有开挂辅助挂(有挂技术)-哔哩哔哩小薇(辅助器软件下载)致您...