Angular 5模板表单检测表单有效性状态的变化

标签 angular forms angular5 angular-reactive-forms angular-forms

reactive forms为了拥有一个组件,该组件可以监听其包含的表单的有效性状态的变化并执行某些组件的方法,该怎么做?

使用 templateRef 很容易禁用模板中的提交按钮,如 [disabled]="#myForm.invalid",但这不涉及组件的逻辑。

查看template forms' doc没找到方法

最佳答案

如果你只想获取status而不是value,你可以使用statusChanges:

export class Component {

    @ViewChild('myForm') myForm;

    this.myForm.statusChanges.subscribe(
        result => console.log(result)
    );
}

如果您甚至想要更改数据,您可以订阅 formvalueChanges 并使用 this.myForm.status< 检查表单的状态:

export class Component {

    @ViewChild('myForm') myForm;

    this.myForm.valueChanges.subscribe(
        result => console.log(this.myForm.status)
    );
}

状态的可能值为:VALIDINVALIDPENDINGDISABLED。

Here is the reference for the same

关于Angular 5模板表单检测表单有效性状态的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49665960/

相关文章:

javascript - Angular:从标签中应用 ngif

node.js - "path"参数必须是字符串类型。接收类型未定义 - Ionic 4 - 仅限 Windows

ruby-on-rails - 如何将数组传递给 Rails 中的 fields_for?

angular - 升级到 angular 5 后 webpack 命令失败

javascript - 以 Angular react 形式显示条件输入框

javascript - 如何在 Angular Material V6 中列出国际电话号码?

angular - 错误 TS2339 : Property 'finally' does not exist on type 'Promise<void>'

angular - onclick 内的字符串插值(Ionic 2 + Angular 2)

forms - LibreOffice 基础;从主窗体到子窗体的 Tab 键顺序

javascript - 恢复旧的提交函数javascript