使用货币管道无法按预期在离子输入设备上工作

时间:2018-10-08 23:17:55

标签: angular ionic-framework ionic3 angular-pipe

我正尝试在currency元素上使用ion-input管道,如下所示。

<ion-input type="number" name="amount" 
 [ngModel]="myObject.amount | currency" 
 (ngModelChange)="myObject.amount = $event">
</ion-input>

当我使用此one-way binding + event approach时,UI上的输入字段为空白。如果检查元素,则会在生成的ng-reflect-model="$100"元素上看到input属性值。但是,如果将type更改为text,则确实看到了$ 100的渲染值。

<ion-input type="text" name="amount" 
 [ngModel]="myObject.amount | currency" 
 (ngModelChange)="myObject.amount = $event">
</ion-input>

现在的问题是如果用type="text"而不是type="number",我会丢失数字键盘。关于如何通过显示数字键盘来实现这一点的任何想法?

我正在使用离子角v3.9.2。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情,

<ion-input type="number" name="amount" 
 [ngModel]="myObject.amount"
 (change)="updateAmount($event.target.value)">
</ion-input>

和.ts

updateAmount(qp:number):void {
   this.formattedAmount = this.currencyPipe.transform(this.amount, 'USD');
   element.target.value = this.formattedAmount;
}