下面是一个使用Angular FormGroup获取选中复选框的数组的示例代码:
首先,创建一个包含复选框的表单组,每个复选框都与一个FormControl关联:
import { Component } from '@angular/core';
import { FormGroup, FormControl } from '@angular/forms';
@Component({
selector: 'app-checkbox-form',
template: `
`,
})
export class CheckboxFormComponent {
checkboxForm: FormGroup;
constructor() {
this.checkboxForm = new FormGroup({
option1: new FormControl(false),
option2: new FormControl(false),
option3: new FormControl(false),
});
}
submitForm() {
const selectedOptions = Object.keys(this.checkboxForm.controls)
.filter(controlName => this.checkboxForm.controls[controlName].value);
console.log(selectedOptions);
}
}
在上面的代码中,我们创建了一个FormGroup并将每个复选框与一个FormControl关联起来。在submitForm方法中,我们使用Object.keys来获取FormGroup中所有的控件名,并使用filter方法过滤出选中的复选框。最后,我们将选中的复选框数组打印到控制台。
请注意,上述代码需要在带有Angular Forms模块的Angular应用程序中使用,并且在模板中使用formGroup
指令和formControlName
指令将表单组件与FormGroup和FormControl关联起来。