属性 'splice' 在类型 'FormArray' 上不存在 angular 6

Property 'splice' does not exist on type 'FormArray' angular 6

如何在第 0 个索引处推送 formArray 中的表单组。它应该被 formArray 中的第 0 个元素替换。

您可以使用 FormArray insert-anchor

control.insert(index: number, control: AbstractControl): void

按照nicraft的建议,使用insert API on the FormArray。您可能必须相应地管理模板。

在这里,试一试:

import { Component } from '@angular/core';
import { FormBuilder, FormGroup, FormArray, FormControl } from '@angular/forms';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  form: FormGroup;

  constructor(private fb: FormBuilder) {}

  ngOnInit() {
    this.form = this.fb.group({
      array: this.fb.array([])
    });
  }

  addItem() {
    const formArray  = this.array;
    formArray.insert(0, this.fb.control(formArray.length + 1));
  }

  get array() {
    return (<FormArray>this.form.get('array'));
  }
}

注意: 这里我只是在 array FormArray 中添加一个新的 FormControl 并设置 FormArray的当前长度 + 1 作为它的值。


Here's a Working Sample StackBlitz for your ref.