如何从 Angular 表单中迭代控件数组属性

Ric*_*cky 2 typescript angular index-signature angular5

我遇到以下问题,我需要使用 forEach 循环迭代 Angular 中表单的控件属性。我正在编写以下代码:

const arr = this.bankForm.controls;
arr.forEach((element: {[key: string]: AbstractControl}) => {

});
Run Code Online (Sandbox Code Playgroud)

我有下一个错误:

在此输入图像描述

dee*_*Dev 7

这是迭代控件的一种方法

解决方案

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
});
Run Code Online (Sandbox Code Playgroud)

这是因为Object.keys();返回一个键值数组,然后您可以使用数组forEach();方法对其进行迭代。

文档

forEach() 方法。/Object.keys 方法。/ 角度形式控件

编辑

control 将始终是来自 的字符串forEach();,因此我要做的就是尝试在下面声明正确类型的新内容。往上看。这使我的 IDE 识别出它是一个表单控件,因此有望满足您的 tsconfig。