如何从 Angular 中的表单遍历控件数组 属性
How to iterate through controls array property from Forms in Angular
我遇到以下问题 我需要使用 forEach 循环遍历 Angular 中表单的控件 属性。我正在编写以下代码:
const arr = this.bankForm.controls;
arr.forEach((element: {[key: string]: AbstractControl}) => {
});
我遇到下一个错误:
这是一种可以循环访问控件的方法
解决方案
Object.keys(this.bankForm.controls).forEach((control: string) => {
const typedControl: AbstractControl = this.bankForm.controls[control];
console.log(typedControl)
// should log the form controls value and be typed correctly
});
这是因为 Object.keys();
returns 键值数组,然后您可以使用 forEach();
数组方法对其进行迭代。
文档
forEach() method。 /
Object.keys method。 /
Angular Form Controls.
编辑
control 将始终是来自 forEach();
的字符串,所以我要做的是尝试在下面声明正确类型的新内容。看上面。这让我的 IDE 认识到它是一个表单控件,因此有望满足您的 tsconfig。
我遇到以下问题 我需要使用 forEach 循环遍历 Angular 中表单的控件 属性。我正在编写以下代码:
const arr = this.bankForm.controls;
arr.forEach((element: {[key: string]: AbstractControl}) => {
});
我遇到下一个错误:
这是一种可以循环访问控件的方法
解决方案
Object.keys(this.bankForm.controls).forEach((control: string) => {
const typedControl: AbstractControl = this.bankForm.controls[control];
console.log(typedControl)
// should log the form controls value and be typed correctly
});
这是因为 Object.keys();
returns 键值数组,然后您可以使用 forEach();
数组方法对其进行迭代。
文档
forEach() method。 / Object.keys method。 / Angular Form Controls.
编辑
control 将始终是来自 forEach();
的字符串,所以我要做的是尝试在下面声明正确类型的新内容。看上面。这让我的 IDE 认识到它是一个表单控件,因此有望满足您的 tsconfig。