在 AngularJs 中,我曾经使用 ng-submitted 类进行表单验证,但是当您提交表单时它不会出现在 Angular 中。我写了一个指令,添加一个提交到表单的类并在重置时将其删除
@Directive({
selector: '[appForm]'
})
export class FormDirective implements OnDestroy {
private subscription: Subscription;
constructor(el: ElementRef, form: NgForm) {
this.subscription = form.ngSubmit.subscribe(() => {
el.nativeElement.classList.add('submitted');
});
form.onReset = () => {
el.nativeElement.classList.remove('submitted');
};
}
ngOnDestroy() {
if (this.subscription) {
this.subscription.unsubscribe();
}
}
}
当您使用重置按钮重置表单时,这非常有用。我遇到的问题是,当我需要使用除将所有绑定设置为 null 之外的值进行重置时,我需要使用 ngForm resetForm 方法重置表单,但这不会触发 onReset 方法,而且我找不到点击的方法进入以这种方式重置的表格。