你可以使用Angular的FormControl和FormGroup来实现这个功能。下面是一个示例代码:
首先,你需要在组件中导入所需的模块和类:
import { Component } from '@angular/core';
import { FormBuilder, FormGroup, FormArray, FormControl } from '@angular/forms';
然后,在组件类中创建一个表单组:
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
form: FormGroup;
constructor(private formBuilder: FormBuilder) {
this.form = this.formBuilder.group({
items: this.formBuilder.array([])
});
}
}
接着,在模板中使用ngFor循环来渲染复选框列表,并将每个复选框与表单控件关联起来:
最后,你可以在组件类中获取选中的复选框列表,并进行相关处理:
getSelectedItems() {
const selectedItems = this.form.value.items
.map((value, index) => value ? this.items[index] : null)
.filter(value => value !== null);
console.log(selectedItems);
}
这样,当用户选中或取消复选框时,表单控件的值会自动更新。你可以通过调用getSelectedItems方法来获取选中的复选框列表。
希望这个示例能帮到你!