Угловой ввод формы с несколькими индексами - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть отдельные документы Firestore для каждого соревнования с указанием, кто судит:

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

В другом документе у меня есть множители, которые используются для оценки данного участника / одного судьи [введите изображениеописание здесь] [2]

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

Эти два параметра зависят от конкуренции.

Моя цель - построить форму в диалоговом окне: число столбцов зависит от количества судей, строки - от того, сколько наблюдений у нас есть для данного участника (множители)

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.Даже пытался ссылаться на Object и Array, как это, но он также выдает ошибку:

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

Любая помощь или другое направление приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...