Angular MatDialog 立即关闭
Angular MatDialog closes instantly
我正在尝试使用 angular material 弹出与另一个组件的对话框。
但是,单击用于打开对话框的按钮,只会打开它一瞬间,然后几乎立即关闭它并刷新页面。
这是我的登录组件:
<div class="main">
<div class="col-md-6 col-sm-12">
<div class="login-form">
<form>
<div class="form-group">
<label>Pseudo</label>
<input type="text" class="form-control" placeholder="">
</div>
<div class="form-group">
<label>Mot de passe</label>
<input type="password" class="form-control" placeholder="">
</div>
<button (click)="toDashboard()" type="submit" class="btn btn-black">Se connecter</button>
<button (click)="toAccountCreation()" type="submit" class="btn btn-secondary">Créer un compte</button>
<button (click)="ToPwdReset()" class="btn pwdresetcolor">Mot de passe oublié?</button>
</form>
</div>
</div>
</div>
Login.component.ts
import { Component, OnInit } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { Router } from '@angular/router';
import { ResetPwdComponent } from '../reset-pwd/reset-pwd.component';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
constructor(private route:Router,private dialog : MatDialog){}
ngOnInit(): void {
}
toDashboard(){
this.route.navigate(['./homepage']);
}
toAccountCreation(){
this.route.navigate(['./AccountCreation']);
}
ToPwdReset(){
this.dialog.open(ResetPwdComponent,{width:'100%'});
}
}
最后一个 ToPwdReset() 函数应该打开我的“ResetPwdComponent”对话框,但它确实打开了,并在刷新页面时立即关闭了它。
我查看了其他帖子的答案,但 none 解决了我的问题。
提前致谢。
Javascript 将假定表单内的按钮是提交按钮,因此它会因此刷新页面。
您必须在按钮中设置type="button"
使密码重置才能解决问题
我正在尝试使用 angular material 弹出与另一个组件的对话框。 但是,单击用于打开对话框的按钮,只会打开它一瞬间,然后几乎立即关闭它并刷新页面。
这是我的登录组件:
<div class="main">
<div class="col-md-6 col-sm-12">
<div class="login-form">
<form>
<div class="form-group">
<label>Pseudo</label>
<input type="text" class="form-control" placeholder="">
</div>
<div class="form-group">
<label>Mot de passe</label>
<input type="password" class="form-control" placeholder="">
</div>
<button (click)="toDashboard()" type="submit" class="btn btn-black">Se connecter</button>
<button (click)="toAccountCreation()" type="submit" class="btn btn-secondary">Créer un compte</button>
<button (click)="ToPwdReset()" class="btn pwdresetcolor">Mot de passe oublié?</button>
</form>
</div>
</div>
</div>
Login.component.ts
import { Component, OnInit } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { Router } from '@angular/router';
import { ResetPwdComponent } from '../reset-pwd/reset-pwd.component';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
constructor(private route:Router,private dialog : MatDialog){}
ngOnInit(): void {
}
toDashboard(){
this.route.navigate(['./homepage']);
}
toAccountCreation(){
this.route.navigate(['./AccountCreation']);
}
ToPwdReset(){
this.dialog.open(ResetPwdComponent,{width:'100%'});
}
}
最后一个 ToPwdReset() 函数应该打开我的“ResetPwdComponent”对话框,但它确实打开了,并在刷新页面时立即关闭了它。
我查看了其他帖子的答案,但 none 解决了我的问题。
提前致谢。
Javascript 将假定表单内的按钮是提交按钮,因此它会因此刷新页面。
您必须在按钮中设置type="button"
使密码重置才能解决问题