要将表单标记为已触摸,您需要使用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和其他相关的表单控件。
希望这可以帮助到您!