【问题标题】:How to remove currencyMask's "0.00" format and just let users input any number?如何删除currencyMask的“0.00”格式,让用户输入任意数字?
【发布时间】:2019-11-20 11:49:51
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我不确定我是否得到了你想要做的。 currencyMask 是指令吗?像第 3 方图书馆?还是您正在构建的指令?
  • @jpavel 没有。我不知道如何构建自定义指令,所以如果这是你要建议的解决方案,那么我需要额外的步骤。 currencyMask 是一个内置的有角度的东西..
  • 哦,恐怕,没有像 currencyMask 这样的东西 &lt;input&gt; 在角度。作为一个建议(因为你不想建立自己的指令):看看github.com/text-mask/text-mask/tree/master/angular2

标签: angular typescript


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 2016-02-06
    相关资源
    最近更新 更多