2017-02-03 22 views
1

我想顯示FormArray中每個textarea元素的字符數。Angular2 FormArray - 在頁面上顯示textarea字符數 - 如何?

這就是我所擁有的。沒有看到使用索引或動態地創建一個唯一的本地變量名稱的方式,我現在有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

對於那些被'text'混淆的人,如果它是:let v profileForm.get('videos')...而formControlName是videoText。那麼答案將是{{v.get('videoText').value.length}} Reid

+0

@Reid Exactly :) – developer033