具有多个索引的角形输入

时间:2019-02-25 13:11:35

标签: angular typescript angular-material

每个比赛我都有单独的Firestore文档,指示谁在评判:

export class Competition {
 ...
 judges: {};
}

在另一篇文档中,我有乘数,用于评估给定的参赛者/一名法官[在此处输入图片描述] [2]

export class Protocol {
 ...
 multipliers: [];
}

这两个参数根据竞争而有所不同。

我的目标是在mat-dialog中建立一个表格:列数基于裁判的人数,行数基于我们对给定参赛者(乘数)的观察次数

resetForm(form?: NgForm){
 if(form!=null)
   form.resetForm();
 this.service.protocolData = {
   ...
   result: {}
 }
}

当前,我处于一个阶段,如果我在输入中输入一些值,它将被复制到所有输入字段中。据我了解,这是由于将输入输入ngModel的方式造成的:

<tr *ngFor="let multiplier of multipliers; let i=index">
    <td>{{i+1}}</td>
    <td>{{ multiplier }}</td>
    <td class="point" *ngFor="let jud of judges | keyvalue; let j=index">
      <mat-form-field appearance="outline">
        <mat-label>{{i+1}}. exercise</mat-label>
        <input 
          placeholder="{{jud.key +  (i+1)}}" 
          [(ngModel)]="service.protocolData.result"

          name="{{jud.key + (i+1)}}"
          matInput 
          (keyup.enter)="keytab(i)" 
          (keyup.keydown)="keytab(i)" 
          id="{{i}}">
      </mat-form-field>
    </td>
  </tr>

在这里,我被困住了,我无法将输入值引导到protocolData中。 甚至试图像这样引用对象和数组,但也会引发错误:

[(ngModel)]="service.protocolData.result['jud.key'][i]"

任何帮助或不同方向的帮助,请多多关照。

0 个答案:

没有答案