在Angular 6中,表单重置并不会改变表单的脏状态。要重置表单并标记为未脏,可以使用FormGroup的reset()方法。
以下是一个示例代码:
在组件的HTML模板中,定义一个表单,并给每个表单控件添加一个name属性和一个ngModel指令,以便进行双向数据绑定。
在组件的.ts文件中,定义一个FormGroup对象,并在onReset()方法中调用reset()方法来重置表单和标记为未脏。
import { Component } from '@angular/core';
import { NgForm } from '@angular/forms';
@Component({
selector: 'app-my-form',
templateUrl: './my-form.component.html',
styleUrls: ['./my-form.component.css']
})
export class MyFormComponent {
user = {
name: '',
email: ''
};
onSubmit() {
// Submit form logic here
}
onReset() {
this.user = {
name: '',
email: ''
};
// Reset form and mark as pristine
myForm.resetForm();
}
}
在这个示例中,当点击重置按钮时,表单的name和email字段将被重置为空,并且表单将被标记为未脏。