Передать динамическое значение formControl в шаблон - PullRequest
0 голосов
/ 07 октября 2019

Как мне передать точное значение текстовой области при нажатии кнопки?

<form novalidate [formGroup]="simulationForm">
     <div  formArrayName="answer_key"  *ngFor="let other of simulationForm.get('answer_key').controls; let i = index" class="form-group">

          <div [formGroupName]="i" class="mat-form-field--inline">
                    {{i + 1}}.
                    <mat-form-field>
                        <textarea matInput placeholder="Sentence" id="sentence" formControlName="sentence" readonly="true"></textarea>
                    </mat-form-field>
          <button class="btn btn-success" type="button" (click)="openDialog()">Add</button>
                </div>  
          </div>
</form>

Требуется передать значение предложения каждой строки при нажатии каждой кнопки.

что-то вроде

(click)="openDialog(simulationForm.get('sentence').value)"

или

(click)="openDialog(simulationForm.get('answer_key').controls['sentence'].value)"

1 Ответ

3 голосов
/ 07 октября 2019
(click)="openDialog(i)"

openDialog(index:number)
{
   const text=(simulationForm.get('answer_key') as FormArray)
       .at(index).get('sentence').value

   //or 
   const text=(simulationForm.get('answer_key') as FormArray)
       .at(index).value.sentence

   //I'm not sure about
   const text=simulationForm.value.answer_key[index].sentence


}
...