【问题标题】:How to get the value without the mask characters in PrimeNg?如何在 PrimeNg 中获取没有掩码字符的值?
【发布时间】:2019-01-06 22:05:36
【问题描述】:

我正在为我们的 Angular 项目使用 primeNG UI 库。我使用primeng掩码来格式化值。

        <p-inputMask type="text" name="IBANAccount"
                                     #IBANAccount="ngModel"
                                     mask="aa99 9999 9999 9999"
                                     (onBlur)="OnIBANAccountChange()"
                        [ngModel]="CurrentPaymentOutRequest?.IBANAccount"  (ngModelChange)="CurrentPaymentOutRequest.IBANAccount=UnMask($event)">
</p-inputMask>

在我的 Unmask 方法中,我删除了掩码值。

UnMask(val) {
    return val.replace(/\s/g, '');
}

我有几个问题。

为什么要屏蔽,绑定屏蔽字符(例如:/,-,等)?

还有其他方法可以全局处理吗?因为将来如果格式发生变化,我应该在所有地方都进行更改

【问题讨论】:

    标签: angular typescript mask primeng


    【解决方案1】:

    unmask 属性(默认为false)设置为true 以获取原始值。

    例子:

    <p-inputMask mask="aa99 9999 9999 9999" unmask="true"></p-inputMask>
    

    要全局设置它,你可以创建一个指令(不要忘记在你的模块中声明它)以p-inputMask 作为选择器,例如:

    import {Directive, Host} from '@angular/core';
    import {InputMask} from 'primeng/primeng';
    
    @Directive({
      selector: 'p-inputMask'
    })
    export class InputMaskDefaultDirective {
      constructor(@Host() private inputMask: InputMask) {
        this.inputMask.unmask = true;
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多