Aneh tapi muncul dengan polos.
Mencoba menerapkan fitur reset formulir (tidak ada) dengan mengalihkan formulir sebelumnya dari DOM dan kembali dengan NgIf yang disematkan ke flag active
<form *ngIf="active"
(ngSubmit)="onSubmit()" #heroForm="ngForm">
dikendalikan oleh komponen clear
metode seperti ini
clear() {
this.model = new Hero(42, '', '');
this.active = false;
setTimeout(()=> this.active=true, 0);
}
Saat formulir valid (seperti di awal), mengklik hapus menyebabkan halaman dimuat ulang. Jika formulir tidak valid (misalnya, tidak ada nama), tidak ada isi ulang.
Berikut repro melalui plunker:
http://plnkr.co/edit/GNhLbONEDHyApCm9vUeh
Tombol hapus memiliki jenis "kirim". Jadi mengkliknya menyebabkan formulir dikirim. NgForm seharusnya mencegat acara kirim, tetapi karena NgIf menghapus elemen formulir dari DOM, intersepsi tidak terjadi. Anda dapat memperbaikinya dengan mengatur jenis tombol ke "tombol".
Terima kasih. Saya tidak tahu bahwa <button>
_tanpa atribut tipe _ sama dengan tombol kirim!
Itu memang menyembuhkan masalah seperti yang terlihat pada plunker yang direvisi ini: http://plnkr.co/edit/u3ltLP84JHn2VkoFKf46?p=preview
Menutup masalah ini dan membuka #6822 yang memerlukan fitur reset
eksplisit untuk menggantikan peretasan yang diilustrasikan oleh plunker ini.
Masalah ini telah dikunci secara otomatis karena tidak ada aktivitas.
Silakan ajukan masalah baru jika Anda mengalami masalah serupa atau terkait.
Baca lebih lanjut tentang kebijakan penguncian percakapan otomatis kami.
_Tindakan ini telah dilakukan secara otomatis oleh bot._
Komentar yang paling membantu
Tombol hapus memiliki jenis "kirim". Jadi mengkliknya menyebabkan formulir dikirim. NgForm seharusnya mencegat acara kirim, tetapi karena NgIf menghapus elemen formulir dari DOM, intersepsi tidak terjadi. Anda dapat memperbaikinya dengan mengatur jenis tombol ke "tombol".