Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angular – 如果从父级重新初始化FormGroup,则自定义组件FormControl中断大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
从我的自定义组件中使用的父组件重新初始化formGroup时出现问题.我得到的错误是:

HTML

<form [formGroup]="addForm">
     ...
     <my-custom-component formControlName="SELEctedCompany"></my-custom-component>
     ...
</form

<我的定制-成分>是根据创建自定义formControl组件的有效方式创建的:https://blog.thoughtram.io/angular/2016/07/27/custom-form-controls-in-angular-2.html#implementing-controlvalueaccessor

零件

这是初始化formGroup变量addForm的代码

let formTemp: any = {
    SELEctedCompany: new FormControl(null,[Validators.required]),}

this.addForm = this._formBuilder.group(formTemp);

第一次初始化addForm都很好.但是当我重打开表单所在的模态,并且执行相同的组件代码时,会发生上述错误.

我发现重复初始化formGroup并不好,因为组件会丢失对旧formGroup的引用.

如果设置值是显示新表单所需的值,则.SETVALue是此处的解决方案:

零件

而不是重新初始化addForm,检查addForm是否先前已初始化,如果是,则仅为现有FormControls设置值:

if (this.addForm) {
    this.addForm.SETVALue({
        SELEctedCountry: null
    })
} else {

    let formTemp: any = {
        SELEctedCompany: new FormControl(null,}

    this.addForm = this._formBuilder.group(formTemp);
}

通过这种方式,我想,旧的addForm不会丢失引用,因此不会发生错误.

大佬总结

以上是大佬教程为你收集整理的angular – 如果从父级重新初始化FormGroup,则自定义组件FormControl中断全部内容,希望文章能够帮你解决angular – 如果从父级重新初始化FormGroup,则自定义组件FormControl中断所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。