Angular动态表单项目迁移-'input'没有初始化程序和构造函数,TypeT|undefined的另一个错误
创始人
2024-10-24 14:01:13
0

这个问题通常发生在将 Angular 旧版代码升级到新版的过程中。原因是在旧版中,可能会在构造函数中初始化值,但在新版中,它会优先使用使用输入属性进行初始化,然后才会执行构造函数。解决方法是将输入属性值初始化放在构造函数之前,在组件中添加 ngAfterViewInit() 生命周期钩子方法。以下是示例代码:

import { AfterViewInit, Component, Input } from '@angular/core';
import { FormGroup } from '@angular/forms';

@Component({
  selector: 'app-dynamic-form',
  template: `
    
`, }) export class DynamicFormComponent implements AfterViewInit { @Input() fields: any[]; form: FormGroup; ngAfterViewInit() { // Initialize input values before the constructor is executed this.fields = this.fields || []; // Initialize the form after the input values this.form = this.createFormGroup(); } private createFormGroup() { const group = new FormGroup({}); this.fields.forEach((field) => { const control = field.required ? new FormControl(field.value || '', Validators.required) : new FormControl(field.value || ''); group.addControl(field.name, control); }); return group; } }

相关内容

热门资讯

透视规律!德普软件,来玩德州破... 透视规律!德普软件,来玩德州破解器,步骤教程(原来真的是有挂)-哔哩哔哩;1、来玩德州破解器透视辅助...
五分钟策略!杭州边锋网络游戏辅... 五分钟策略!杭州边锋网络游戏辅助,海南骨牌辅助器免费,德州论坛(真的有挂)-哔哩哔哩暗藏猫腻,小编详...
透视辅助!德扑圈透视挂(透视)... 您好,德扑圈透视挂这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在...
透视透视!哈糖大菠萝怎么挂,h... 透视透视!哈糖大菠萝怎么挂,hhpoker德州有挂吗,策略教程(一直真的是有挂)-哔哩哔哩1、超多福...
透视稳赢!wejoker私人辅... 您好,wejoker私人辅助软件这款游戏可以开挂的,确实是有挂的,需要了解加去威信【48527505...
7分钟策略!jj斗地主麻将外卦... 7分钟策略!jj斗地主麻将外卦挂,多乐跑得私人房间辅助视频,扑克教程(有挂猫腻)-哔哩哔哩1、进入到...
透视攻略!wepoker有没有... 透视攻略!wepoker有没有挂,pokemmo脚本最新版,妙招教程(好像存在有挂)-哔哩哔哩1)p...
第3分钟操作!掌上程序辅助器下... 第3分钟操作!掌上程序辅助器下载,微友辅助神器下载,透明挂教程(存在有挂)-哔哩哔哩1、很好的工具软...
透视代码!wejoker免费脚... 透视代码!wejoker免费脚本(透视)开挂辅助攻略(好像真的是有挂)-哔哩哔哩亲,关键说明,wej...
透视好牌!epoker免费透视... 透视好牌!epoker免费透视脚本,wepoker辅助是真的假的,攻略教程(真是真的是有挂)-哔哩哔...