2
角度2の素材にダイアログを作成しました。次のように私は、モーダルを開くよ:ダイアログの内側のフォームをクリアする方法角度2
私のコンポーネント
....
private refDialog;
@ViewChild('display') display;
openDialog() {
this.refDialog= this.dialog.open(this.display);
}
....
私のhtml
<ng-template #display>
<form (ngSubmit)="onSubmit(f)" #f="ngForm">
<div class='col-md-12'>
<md-input-container>
<input mdInput placeholder="Name" name="name" [(ngModel)]="product.name" #name="ngModel">
</md-input-container>
</div>
.....
</form>
</ng-template>
私は、ダイアログを開く前に、フォームをクリアする必要があります。私はこれをできるだけ簡単にしたいと思います。私はprimeNGダイアログを使用していましたが、私はthis.f.reset()を使用しました。そしてそれは働いた。しかし、角度のある素材2は異なった働きをします。
私はすべて成功しませんでした。これは私にとってはうまくいかない:
....
private refDialog;
@ViewChild('display') display;
@ViewChild('f') f;
openDialog() {
this.f.reset();
this.refDialog= this.dialog.open(this.display);
}
....
誰でも助けてくれますか?
答えに感謝します。 this.f.restForm()は機能しません。 openDialog()内にフォームのインスタンスがないことを確認しました。それはおそらく彼がリセットすることができない理由です。角度のある素材ダイアログ内にあるフォームインスタンスを取得する方法がわかりません。スコープの問題のようです –
問題を再現するためにプランナーを作成しましたが、この問題を解決してこの回答を更新することで解決します。 –
ありがとう、私の友人! –