首页 > 解决方案 > 如何删除currencyMask的“0.00”格式,让用户输入任意数字?

问题描述

在角度方面,与使用 type=number 相比,currencyMask 可以帮助我用逗号等格式化输入的付款。但我遇到的问题是currencyMask 给了我一个0.00 美元的默认值。输入 1 时,它将变为 0.01 美元,而不仅仅是 1。我希望到目前为止我说得通。因此,与其将其设为 0.01 美元,我希望用户能够输入他们希望的任何金额,并继续使用currencyMask 提供的逗号格式器和仅数字过滤器。

我试过制作类型=“数字”。它有效,我的 POST 似乎不受输入小数时发出的警告的影响:“值必须在整数之间”。但是逗号格式化程序不见了。以下是有效但没有逗号格式化程序的代码。

<input matInput type = "number" placeholder = "00000.00"
       [ngModel]= "paymentUpdate" 
       (ngModelChange) = "element.Payment = $event" 
       (keydown.Enter)="submitClick(element)">

我希望让用户输入付款并在他们愿意的情况下包含小数。CurrencyMask 强制用户从美分开始。我从未使用过自定义指令,所以如果这是唯一的解决方案,请告诉我额外的步骤..

标签: angulartypescript

解决方案


如果我们将默认值设置为空。然后 $0.00 默认值不会被默认。

 myPrice: new FormControl(null, [Validators.required]),

推荐阅读