Angular 5 FormGroup重置不会重置验证器

Angular 5 FormGroup重置不会重置验证器,第1张

Angular 5 FormGroup重置不会重置验证器

它(

FormGroup
)行为正确。您的表单需要用户名和密码,因此,当您重置表单时,该表单应该无效(即,没有用户名/密码的表单无效)。

如果我理解正确,那么这里的问题就是为什么在您第一次加载页面(表单也是无效的)时并没有出现红色错误,而是在您单击按钮时d出了红色错误。当您使用Material时,此问题尤其突出。

AFAIK,

<mat-error>
请检查的有效性
FormGroupDirective
,而不是
FormGroup
,并且重置
FormGroup
不会重置
FormGroupDirective
。这有点不方便,但要清除
<mat-error>
您也需要重置
FormGroupDirective

为此,请在模板中定义如下变量:

<form [formGroup]="myForm" #formDirective="ngForm"   (ngSubmit)="submitForm(myForm, formDirective)">

然后在您的组件类中,调用

formDirective.resetForm()

private submitForm(formdata: any, formDirective: FormGroupDirective): void {    formDirective.resetForm();    this.myForm.reset();}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5621089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存