2017-02-22 3 views
0

私は、製品レートと数量入力を持つフォームを持っています。私は値(レート*量)を計算し、値を入力量フィールドに割り当てる必要があります。ionic2:計算をフォームで行うには?

以下のコードスニペットを見つけてください:

<form [formGroup]="additemForm" (ngSubmit)="submit(additemForm.value)" > 

    <ion-row> 
    <ion-col> 
     <ion-list inset>    
     <ion-item> 
      <ion-label>Product :</ion-label> 
      <ion-select formControlName="product"> 
       <ion-option *ngFor="let product of productArray" value="{{product.code}}" selected="false">{{product.name}}</ion-option> 
      </ion-select> 
     </ion-item> 
     <ion-item> 
      <ion-label>QUANTITY :</ion-label> 
      <ion-input type="number" formControlName="qty"></ion-input> 
     </ion-item>    
     <ion-item> 
      <ion-label>RATE:</ion-label> 
      <ion-input type="number" formControlName="rate"></ion-input> 
     </ion-item> 
     <ion-item> 
      <ion-label>Value :</ion-label> 
      <ion-input type="number" formControlName="value"></ion-input> 
     </ion-item>       
     </ion-list> 
    </ion-col> 
    </ion-row> 

    <ion-row> 
    <ion-col class="signup-col"> 
     <button ion-button class="submit-btn" type="submit" [disabled]="!additemForm.valid">Submit</button> 
     <button ion-button type="button" (click)='cancel()' >Cancel</button> 
    </ion-col> 
    </ion-row>  

    </form> 
+0

試行したコードを表示できますか? –

答えて

0

をあなたはこのために[(ngModel)]を使用する必要があります。

<ion-item> 
     <ion-label>QUANTITY :</ion-label> 
     <ion-input type="number" formControlName="qty" [(ngModel)]="quantity"></ion-input> 
    </ion-item>    
    <ion-item> 
     <ion-label>RATE:</ion-label> 
     <ion-input type="number" formControlName="rate" [(ngModel)]="rateValue"></ion-input> 
    </ion-item> 
    <ion-item> 
     <ion-label>Value :</ion-label> 
     <ion-input type="number" formControlName="value" [(ngModel)]="rateValue * quantity"></ion-input> 
    </ion-item> 

これで、静止量入力フィールドが編集可能になりました。この値を変更すると、他の2つの入力値にも影響します。入力を無効にすることができるので、読み取り専用入力として表示されます。これは私のコードで働いた。

+0

値が変更されたときに値を計算できるように、入力にアタッチできるイベントはありますか?例えば、計算はフォームの一部ではない外部データであってもよい。 –

+0

正確なユースケースを知りたい。同様に、あなたは何を実装しようとしているのですか?私の理解ではなく、イベントですが、 '[(ngModel)]は2ウェイバインディングです。ですから、あなたのtypescriptにこれらの 'quantity'と' rateValue'変数を持たせることができます。 typescriptで値を設定してみてください。できます。 –

+0

私はこの場合に選択された製品に基づいて割引と税金を計算する必要があります。 –