首页 > 解决方案 > 如果视图(html)中未引用表单控件,则角度表单会在加载时发出 valueChanges

问题描述

我正在使用 Angular FormGroup,我的代码如下所示

组件.ts

this.formGroup = this.formBuilder.group({
                name: ['', [], FieldValidators.required],
                description: ['', [], FieldValidators.required],
                type: ['', []],
                field1: ['', []]
            });

this.formGroup.valueChanges.pipe(take(1)).subscribe(() => {
        alert("Dirty");
    });

组件.html

<form [formGroup]="formGroup" autocomplete="off">
    <div class="formSection">
        <input type="text" id="name" name="name" formControlName="name">
        <input type="text" id="description" name="description" formControlName="description">
        <input type="text" id="type" name="type" formControlName="type">
</form>

当我加载此表单时,会弹出“脏”警报而不更改任何值。

如果我删除field1(在 html 中没有提到它,它会按预期工作(加载时不会弹出警报)。

如何在加载时停止发出valueChanges ?

标签: angularangular-forms

解决方案


推荐阅读