Cố gắng thêm động một mục nhập formControl mới vào formGroup của tôi trong Angular.
method() {
this.testForm.addControl('new', ('', Validators.required));
}
Điều này có thể được thực hiện?
Cố gắng thêm động một mục nhập formControl mới vào formGroup của tôi trong Angular.
method() {
this.testForm.addControl('new', ('', Validators.required));
}
Điều này có thể được thực hiện?
Câu trả lời:
Chắc chắn, nhưng các tham số thứ hai phải là một cá thể FormControl. Cái gì đó như:
this.testForm.addControl('new', new FormControl('', Validators.required));
Bạn cũng có thể thêm trình xác thực động nếu bạn muốn với setValidators
phương pháp này.
Thông tin thêm tại đây: https://angular.io/api/forms/FormGroup#addControl
sử dụng đơn giản:
this.testForm.addControl('new', this.fb.group({
name: ['', Validators.required]
}));
import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
@Component({
selector: 'app-component-name',
templateUrl: './component-name.component.html',
styleUrls: ['./component-name.component.scss']
})
export class ComponentName implements OnInit {
formGroup: FormGroup;
constructor(private formBuilder: FormBuilder) {}
ngOnInit() {
this.formGroup = this.formBuilder.group({
firstName: new FormControl('', Validators.required),
lastName: new FormControl('', Validators.required),
});
}
// Add single or multiple controls here
addNewControls(): void {
this.formGroup = this.formBuilder.group({
...this.formGroup.controls,
email: ['', Validators.required],
phone: ['', Validators.required]
});
}
}