2017-06-24 23 views
7

Bir form göstermek için açısal2 malzeme MdDialog kullanılır.Angular2 malzeme iletişim kutusu kendi kendine kapanıyor

Kullanıcı formu gönderdiğinde, arka uça bir istek gönderilir ve istek başarılı olursa, iletişim kutusunu kapatmam gerekir. Arka uç isteği başarısız olursa, iletişim kutusunu açık tutmam gerekiyor.

İletişim kutusunu aşağıdaki gibi bir düğmeyi kullanarak kapatabilirim.

<button md-raised-button md-dialog-close>Cancel</button> 

Fakat, bu durumda, sadece arka uç isteği başarılı olması halinde iletişim kutusunu kapatmak gerekir, bu yüzden programlı iletişim kutusunu kapatmak için bir yol gerekir.

İletişim kutusunun içinde gösterilen bileşen, iletişim kutusu yok ve iletişim kutusunun kendiliğinden kapanması için başka bir yol bilmiyorum.

İletişim kutusundaki bileşen içinden iletişim kutusunu kapatmanın herhangi bir yolu var mı?

cevap

15

Eğer iletişim kutusundan kapatın istiyorsan:

constructor(private matDialog: MatDialog){} 

//anywhere 
let dialogRef = this.matDialog.open(MyDialogComponent); 
dialogRef.close(); 
:

constructor(private dialogRef:MatDialogRef<MyDialogComponent>){ } 

closeDialog(){ 
    this.dialogRef.close(); 
} 

Eğer diyalog ebeveynden yakın istiyorsan

İlgili konular