下面是一个示例代码,展示了如何使用Angular中的FormArray增加项目和检测表单值的变化:
在HTML模板中,使用FormArray来显示动态添加的表单项:
在组件类中,定义表单和FormArray,并提供添加项目和检测值变化的方法:
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, FormArray } from '@angular/forms';
@Component({
selector: 'app-form-array-example',
templateUrl: './form-array-example.component.html',
styleUrls: ['./form-array-example.component.css']
})
export class FormArrayExampleComponent implements OnInit {
myForm: FormGroup;
formItems: FormArray;
constructor(private fb: FormBuilder) { }
ngOnInit() {
this.myForm = this.fb.group({
items: this.fb.array([])
});
this.formItems = this.myForm.get('items') as FormArray;
}
addItem() {
const newItem = this.fb.group({
name: '',
value: ''
});
this.formItems.push(newItem);
}
detectChanges() {
console.log(this.myForm.value);
}
}
在这个示例中,当点击"Add Item"按钮时,会动态添加一个新的表单项到FormArray中。当点击"Detect Changes"按钮时,会将表单的值打印到控制台。