我正在为我们的 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, '');
}
我有几个问题。
为什么要屏蔽,绑定(bind)屏蔽字符(ex:/,-,etc)?
是否有任何其他方法可以全局处理此问题?因为将来如果格式发生变化,我应该在所有地方进行更改
最佳答案
将 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;
}
}
关于angular - 如何在 PrimeNg 中获取没有掩码字符的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51597633/