2017-02-03 4 views
1

FormArrayの各textarea要素の文字カウントを表示したいとします。Angular2 FormArray - ページ上にテキストエリアの文字数を表示します。

これは私が持っているものです。インデックスを使用する方法や、現時点でalocalnameのプレースホルダを持つ一意のローカル変数名を動的に作成する方法はありません。これどうやってするの。

<div class="list-group" formArrayName="texts"> 
    <div class="row" 
    *ngFor="let text of profileForm.controls['texts'].controls; let i = index;"> 
     <div formGroupName="{{i}}"> 
      <div> 
      <textarea type="text" class="form-control" formControlName="text" #alocalname></textarea> 
      <small class="form-text text-muted"><code>{{alocalname.value.length}}</code> of characters</small> 
     </div>   
     </div> 
    </div> 
</div> 

答えて

2

controlの値にアクセスするだけで反復処理が必要です。

したがってtext.get('text').value.lengthが動作するはずです。

<div class="list-group" formArrayName="texts"> 
    <div class="row" 
    *ngFor="let text of profileForm.get('texts').controls; let i = index;"> 
     <div [formGroupName]="i"> 
      <div> 
      <textarea type="text" class="form-control" formControlName="text"></textarea> 
      <small class="form-text text-muted"><code>{{text.get('text').value.length}}</code> of characters</small> 
     </div>   
     </div> 
    </div> 
</div> 
+0

「テキスト」で混乱しているのは、次のようなものです:profileForm.get( 'videos')のvをlet ...とし、formControlNameはvideoTextでした。その後、答えは{{v.get('videoText').value.length}} Reid

+0

です@Reid正確に:) – developer033

関連する問題