Angular的ReactiveForm与递归模板不识别父级formGroup指令。
创始人
2024-10-24 09:02:01
0

当使用Angular的ReactiveForm和递归模板时,父级formGroup指令可能不会被识别。这是因为递归模板会创建多个嵌套的formGroup指令,导致Angular无法正确识别父级formGroup指令。

要解决这个问题,可以使用ControlContainer类来手动注入父级formGroup指令。以下是一个示例代码:

  1. 创建一个RecursiveFormComponent组件,包含一个递归模板和ReactiveForm:
import { Component, Input } from '@angular/core';
import { ControlContainer, NgForm } from '@angular/forms';

@Component({
  selector: 'app-recursive-form',
  template: `
    
`, viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }) export class RecursiveFormComponent { @Input() formGroup: FormGroup; @Input() children: FormGroup[]; }
  1. 在父级组件中使用RecursiveFormComponent:
import { Component } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';

@Component({
  selector: 'app-parent-component',
  template: `
    

Parent Component

` }) export class ParentComponent { formGroup: FormGroup; children: FormGroup[]; constructor(private formBuilder: FormBuilder) { this.formGroup = this.formBuilder.group({ name: ['', Validators.required], children: [[]] }); this.children = []; } }

通过使用ControlContainer类来注入父级formGroup指令,可以确保递归模板中的每个FormGroup都能正确识别父级formGroup指令。

相关内容

热门资讯

推荐一款!aapoker脚本怎... 推荐一款!aapoker脚本怎么用,pokemmo手机辅助软件,一直是有挂(存在有挂)破解侠是真的助...
科普攻略!德州真人透视脚本,h... 科普攻略!德州真人透视脚本,hhpoker可以控制吗,果然有挂(有挂教学)1、实时透视辅助更新:用户...
专业讨论!来玩app 德州 辅... 专业讨论!来玩app 德州 辅助,wepoker新号好一点吗,一直真的有挂(有挂头条)1)免费钻石:...
一分钟快速了解!aapoker... 一分钟快速了解!aapoker透视方法,wejoker透视方法,真是是有挂(有挂教程);1、超多福利...
解密关于!wepoker有人用... 解密关于!wepoker有人用过吗,wepoker怎么开辅助,一贯存在有挂(今日头条)1、首先打开辅...
分享开挂内幕!wepoker新... 分享开挂内幕!wepoker新号好一点吗,德普之星辅助工具如何打开,一贯真的是有挂(有挂详细)1)辅...
终于知道!fishpoker透... 终于知道!fishpoker透视,德扑圈透视,竟然真的有挂(有挂功能)1、完成辅助器v3.3的残局,...
大神推荐!wepoker有没有... 大神推荐!wepoker有没有透视方法,wepoker一直输的号能继续打吗,一贯真的是有挂(有挂总结...
玩家必看科普!aapoker安... 玩家必看科普!aapoker安装包怎么使用,hhpoker软件可以玩吗,确实存在有挂(有挂攻略)1、...
我来向大家传授!德普之星透视,... 我来向大家传授!德普之星透视,wepoker钻石怎么看底牌,都是是真的有挂(有挂方法)进入游戏-大厅...