如果在Angular中使用FormArray时移除选定项后出现未定义的值,可以使用以下解决方法:
// 获取FormArray控件
get formArray(): FormArray {
return this.formGroup.get('formArray') as FormArray;
}
// 移除选定项
removeItem(index: number): void {
// 获取要移除的项的值
const removedItemValue = this.formArray.value[index];
// 从FormArray控件中移除选定项
this.formArray.removeAt(index);
// 在控制台打印已移除项的值
console.log('移除的项的值:', removedItemValue);
}
// 获取FormArray控件
get formArray(): FormArray {
return this.formGroup.get('formArray') as FormArray;
}
// 移除选定项
removeItem(index: number): void {
// 从FormArray控件中移除选定项
this.formArray.removeAt(index);
// 更新FormArray的值
this.formGroup.patchValue({
formArray: this.formArray.value
});
}
通过这两种方法,可以确保移除选定项后不会留下未定义的值,而且FormArray控件的值也会得到正确的更新。
上一篇:Angular FormArray: 无法读取未定义属性 'push'。
下一篇:Angular FormArray绑定错误:无法找到路径为'addressess -> 0 -> street'的控件。