मैं धुंध पर एक क्षेत्र के मूल्य को धुंध पर मुद्रा मूल्य में अपडेट कर रहा हूं। जब मैं अपना मान टाइप करता हूं और फॉर्मकंट्रोल को ब्लर वर्क्स पर अपडेट छोड़ देता हूं और वैल्यू (20.00) से ($ 20.00) या (20.05060) से ($ 20.00) कर देता हूं, हालांकि जब मैं जेनरेट फॉर्म बटन पर क्लिक करता हूं तो यह कंसोल को मान देता है। मेरे पैचवैल्यू से पहले। मैं कैसे इसे ठीक कर सकता हूं?

export class InvoicesComponent implements OnInit {
  invoiceGeneratorForm: FormGroup;
  subtotalSub: Observable<any>;
  subTotal = 0;
  itemPriceCurrent: Observable<any>;
  prices = [];
  constructor(public fb: FormBuilder, private currencyPipe: CurrencyPipe) {}

  ngOnInit() {
    this.invoiceGeneratorForm = this.fb.group({
      firstName: [""],
      lastName: [""],
      email: [""],
      itemsArray: this.fb.array([this.getItems()]),
      tax: [""],
      subTotal: [{ value: this.subTotal, disabled: true }],
      invoiceTotal: [""]
    });


  }
 private pushCurrentPrice(index: number){
  const control = <FormArray>this.invoiceGeneratorForm.controls["itemsArray"];
   const currentControl= control.at(index)['controls']['itemPrice'];
   const typeCheck = parseFloat(currentControl.value)||0;
   const subFormatted = this.currencyPipe.transform(
    typeCheck,
    "USD",
    "symbol-narrow",
    "1.2-2"
  );
   currentControl.patchValue(subFormatted,{onlySelf: true, emitEvent: false});
   console.log(currentControl);

 }
  private getItems() {
    return this.fb.group({
      itemName: ["", Validators.required],
      itemPrice: [
        "",
        Validators.compose([
          Validators.required
        ])
      ]
    });
  }
  private addItemRow() {
    const control = <FormArray>this.invoiceGeneratorForm.controls["itemsArray"];
    control.push(this.getItems());
  }
  private deleteItemRow(index: number) {
    const control = <FormArray>this.invoiceGeneratorForm.controls["itemsArray"];
    control.removeAt(index++);
  }

  onGenerateForm() {
    console.log(this.invoiceGeneratorForm.value);
  }
}
2
Pari Baker 22 अक्टूबर 2018, 21:55

1 उत्तर

सबसे बढ़िया उत्तर

यह अपेक्षित है। आप पाइप का उपयोग कर रहे हैं जो क्लाइंट साइड पर आपके डेटा को संशोधित करता है और डेटा के वास्तविक मूल्य को नहीं बदलता है। डेटा को संसाधित करने के लिए पाइप का उपयोग किया जाता है। कृपया https://angular.io/guide/pipes पढ़ें जो आपको अधिक विवरण दे सकता है।

2
alokstar 22 अक्टूबर 2018, 18:59