在Angular 2中输入为空时禁用按钮

Hon*_*iao 15 angular

我想检查输入是否为空.

  • 如果不为空,请启用提交按钮.
  • 如果为空,请禁用提交按钮.

我试过(oninput)(onchange),但它们不运行.

<input type="password" [(ngModel)]="myPassword" (oninput)="checkPasswordEmpty()"/>

checkPasswordEmpty() {
    console.log("checkPasswordEmpty runs");
    if (this.myPassword) {
        // enable the button
    }
}
Run Code Online (Sandbox Code Playgroud)

Thi*_*ier 20

在这种情况下,我会利用表单验证器.我会在您的输入上添加"必需"验证,并使用表单的全局状态来禁用/启用您的按钮.

使用模板驱动的方法,您的组件中不会添加任何代码,只有其模板中的内容...

以下是以下示例:

<form #formCtrl="ngForm">
  <input ngControl="passwordCtrl" required>
  <button [disabled]="!formCtrl.form.valid">Some button</button>
</form>
Run Code Online (Sandbox Code Playgroud)