要将表单标记为已触摸,您需要使用FormBuilder
创建一个FormGroup
,然后将其绑定到父组件的模板中。下面是一个示例:
在父组件的模板中,您可以使用formGroup
指令将表单绑定到FormGroup
:
然后,在父组件的类中,您可以使用FormBuilder
创建一个FormGroup
:
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
@Component({
selector: 'app-parent',
templateUrl: './parent.component.html',
styleUrls: ['./parent.component.css']
})
export class ParentComponent implements OnInit {
myForm: FormGroup;
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
this.myForm = this.formBuilder.group({
name: '',
email: ''
});
}
markFormAsTouched() {
this.myForm.markAllAsTouched();
}
}
在上面的示例中,我们使用formBuilder.group
方法创建了一个包含name
和email
字段的FormGroup
。markFormAsTouched
方法将调用markAllAsTouched
方法来将表单标记为已触摸。
请确保在父组件的模块中导入ReactiveFormsModule
,以便使用FormGroup
和其他相关的表单控件。
希望这可以帮助到您!