Как переопределить значения даже после того, как формат валюты был сделан с помощью angular8 - PullRequest
0 голосов
/ 18 марта 2020

Я использую валютную трубу в размытии. Но это работает нормально в первый раз, когда я получаю сообщение об ошибке проверки, если я удаляю несколько чисел и получаю сообщение, оно не будет отформатировано, чтобы формат валюты остался в том формате, который удалил пользователь. Например, я дал это число: 36543265, поэтому, когда я вышел из ввода, он был отформатирован в $ 36 543 265,00 с сообщением об ошибке проверки. Так что, если я удаляю 265,00 из $ 36 543 265,00, у меня все еще есть сообщение об ошибке проверки. поэтому сообщение об ошибке проверки пропало и осталось с этим форматом $ 36 543, но оно не пришло в правильный формат. Как мне сделать это в правильном формате валютного канала USD после очистки сообщения проверки.

Как мне сделать так, чтобы оно было правильно отформатировано на основе удаления значений пользователем. Пользователь должен иметь возможность редактировать / удалять / добавлять некоторые цифры к этому даже после получения формата валюты.

Если способ, которым я пользуюсь, неверен, можете ли вы помочь мне перейти к другому подходу, в котором эта реализация может быть сделано.

TS:

public transformAmount(element, name) {
  if (name == "amount") {
    let formattedAmount = this.currencyPipe.transform(this.eoInfoForm.value.amount, 'USD');
    element.target.value = formattedAmount;
    this.eoInfoForm.get('amount').setValue(formattedAmount);
    if (this.eoInfoForm.get('amount').status === 'VALID') {
      this.amt = false; 
    } 
    else {
      this.amt = true;
    } 
  } 
}

HTML:

 <input type="text" class="form-control" placeholder="Amount in dolars"
                    formControlName="amount" autocomplete="off" maxlength="8" allowNumberOnly (blur)="transformAmount($event,'amount')" [ngClass]="{ 'is-invalid': amt  && eoInfo.amount.invalid }">
                    <div *ngIf="amt && eoInfo.amount.invalid" class="invalid-feedback">
                        <div *ngIf="amt && eoInfo.amount.invalid">Maximum of 8 characters including $ is allowed</div>
                      </div>

DEMO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...