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

}

相关内容

热门资讯

5分钟详情!雀友会潮汕麻将老是... 5分钟详情!雀友会潮汕麻将老是输,wepower透视辅助(详细透视辅助脚本教程);免费雀友会潮汕麻将...
4分钟技巧!四人斗地主有猫腻吗... 4分钟技巧!四人斗地主有猫腻吗,德扑之星是有机制(详细透视辅助软件教程);超受欢迎的四人斗地主有猫腻...
五分钟技巧!欢乐麻将插件iOS... 大家肯定在之前欢乐麻将插件iOS在哪下载或者欢乐麻将插件iOS在哪下载中玩过五分钟技巧!欢乐麻将插件...
1分钟攻略!jj麻将有没有挂,... 1分钟攻略!jj麻将有没有挂,云扑克辅助器是真是假(详细透视辅助助手教程);亲,其实确实真的有挂(需...
2分钟介绍!兴动互娱游戏辅助器... 2分钟介绍!兴动互娱游戏辅助器怎么用,wpk辅助实时策略建议(详细透视辅助挂教程);(需添加指定薇7...
一分钟教学!掌心麻将软挂神器,... WePoker透视辅助版本稳定性对比与推荐‌:一分钟教学!掌心麻将软挂神器,wepoke好友助力(详...
十分钟技巧!科乐长春麻将有挂吗... 十分钟技巧!科乐长春麻将有挂吗,aa扑克能用模拟器(详细透视辅助软件教程);亲,其实确实真的有挂(需...
七分钟了解!海南麻将琼瑶有挂吗... 七分钟了解!海南麻将琼瑶有挂吗,好运大菠萝有辅助(详细透视辅助app教程),支持语音通讯、好友开房及...
4分钟透明!白金岛三打哈怎么拿... 白金岛三打哈怎么拿好牌新手教程相关信息汇总(需添加指定薇757446909获取下载链接);4分钟透明...
4分钟教学!衡阳字牌免费辅助器... 4分钟教学!衡阳字牌免费辅助器,hm3德州辅助(详细透视辅助挂教程)关于衡阳字牌免费辅助器机制的,其...