Angular 如何添加新<;输入>;最后一个输入何时有值?

Angular 如何添加新<;输入>;最后一个输入何时有值?,angular,typescript,ngfor,Angular,Typescript,Ngfor,我开始做一个表格,但我不知道如何进一步进行 我想做出与这里相同的效果: 如图所示,具体实施如下: 我尝试使用该方法(更改),但按Enter键后该方法仍然有效,这不适合我您可以处理最后一行的输入事件: <div *ngFor="let header of headers; let i = index; let isLast = last" fxLayout="row" fxLayoutGap="25px"> <mat-form-field fxFlex="25">

我开始做一个表格,但我不知道如何进一步进行

我想做出与这里相同的效果: 如图所示,具体实施如下:


我尝试使用该方法(更改),但按Enter键后该方法仍然有效,这不适合我

您可以处理最后一行的
输入事件:

<div *ngFor="let header of headers; let i = index; let isLast = last" fxLayout="row" fxLayoutGap="25px">
  <mat-form-field fxFlex="25">
    <input matInput placeholder="Name" type="text" name="name-{{i}}" value="{{header.name}}" 
           (input)="addInput(isLast)">
  </mat-form-field>
  <mat-form-field fxFlex>
    <input matInput placeholder="Value" type="text" name="value-{{i}}" value="{{header.value}}">
  </mat-form-field>
  ...
</div>

请参阅以获取演示。

如果使用反应式表单,则可以使用formArray。查看一下

为什么不使用<(输入)=“addInput(isLast)”>?(忘了(专注)@Eliseo-谢谢你的建议!它使代码更简单。
export class DynamicformComponent implements OnInit {

  public headers: any[] = [];

  ngOnInit() {
    this.headers = [
      { name: 'Accept-Encoding', value: 'gzip' },
      { name: 'Accept-Charset', value: 'utf-8' },
      { name: 'User-Agent', value: '' },
      { name: 'Accept', value: 'text/plain' },
      { name: 'Cookie', value: '' },
      { name: '', value: '' }
    ];
  }

  addInput(isLast: boolean) {
    if (isLast) {
      this.headers.push({ name: '', value: '' });
    }
  }

  removeInput(index) {
    this.headers.splice(index, 1)
  }
}