如何从 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。