1. ホーム
  2. angular

データをクリアせずにフォームをプリスティンに設定する

2023-10-11 21:28:18

質問

のリストを表示するフォームがあります。 <input type="text"> 要素のリストを表示するフォームがあります。それらはすべて共通の保存ボタンを共有し、フォームがダーティになるまで無効になっています。そして、ユーザーが保存ボタンをクリックすると、データがサーバーに送信されます。サーバーがデータの保存に成功した場合、フォームを元の状態にリセットしたいのですが、ユーザーが選択した場合にデータをさらに編集できるように、フォーム内のすべてのデータを保持したいのです。

検索した結果、私は NgForm.reset() メソッドを見つけました。これはフォームを原状復帰させるものですが、残念ながらフォームも消去してしまいます。resetメソッドはvalueパラメータを持っているようですが、それが何をするものなのかがわかりません。それにもかかわらず、私はデータが消去されることを望んでいません。

また、私は myForm.pristine = true も試してみましたが、これはなぜかページの再読み込みを引き起こします。

以下は、この問題を示すプランクです。 .

どのように解決するのですか?

あなたが探しているものは myForm.form.markAsPristine() .