我试图显示复选框列表,并在运行时动态更改该列表。但是,一旦填充了新的复选框,form.value将具有更新的列表,但没有更新的值(基于用户选择)
我一直在关注这篇文章:https://coryrylan.com/blog/creating-a-dynamic-checkbox-list-in-angular
这是我添加复选框的代码:
private addCheckboxes() {
const searchControls = (this.form.controls.searchDataControls as FormArray) ;
while (searchControls.length !== 0) {
searchControls.removeAt(0);
}
this.searchDataResult.map((o, i) => {
const control = new FormControl();
searchControls.push(control);
});
}
这是我要提交的代码:
submitSelection() {
const selectedData: number[] = this.form.value.searchDataControls
.map((value: any, index: number) => (value ? this.searchDataResult[index].id : null))
.filter((value: any) => value !== null);
}
这在首次加载时效果很好。但是,当使用新的addCheckboxes
再次调用searchDataResult
时,selectedData
始终为空。