出现此问题的原因是 Angular V12 中引入了一些新的类型检查,导致部分代码错误。要解决此问题,可以采取以下两种方法中的一种:
第一种方法是在模板中直接使用 formArrayName,而不是在 ts 文件中声明一个类型。示例代码如下:
第二种方法是在 ts 文件中定义一个类型,并将其传递给 formArrayName。示例代码如下:
// app.component.ts import { FormArray } from '@angular/forms';
export class AppComponent { formArr: FormArray;
constructor(private fb: FormBuilder) { this.formArr = this.fb.array(['', '', '']); } }
通过以上两种方法中的一种,可以成功解决“Angular v11 to v12 throws not assignable to the same property in base type FormArray”问题。