これは angular 2 で可能ですか?
<button type="submit" [disabled]="!validate && !SAForm.valid">Add</button>
両方の条件が真であれば、ボタンが有効になることを期待しています。
上記のコードはすでに試してみましたが、期待通りには動作しませんでした。
component.tsで変数を宣言し、ある値で初期化します。
buttonDisabled: boolean;
ngOnInit() {
this.buttonDisabled = false;
}
ここで、.htmlやテンプレートの中に、以下のコードを記述します。
<button disabled="{{buttonDisabled}}"> Click Me </button>
これで、buttonDisabled
変数の値を変更することで、ボタンの有効化/無効化ができるようになります。
これはangular 2で可能ですか?
はい、可能です。
両方の条件が真であれば、ボタンは有効になりますか?
いいえ、両方とも真であれば、ボタンは無効になります。Disabled="true"`となります。
上記のコードを試してみましたが、うまく動作しません。
何を期待しているのかというと、 valid
が false で、 angular formGroup
, SAForm
が有効でない場合に、ボタンが無効になるということです。
推奨事項としては、ボタンのタイプをsubmitではなくbuttonにしてください。なぜなら、これはフォーム全体の送信を引き起こす可能性があり、invalidate
を使用して、(ngSubmit)
をリッスンする必要があるからです。