【发布时间】:2019-09-25 07:46:27
【问题描述】:
我有下拉组件(信用卡列表)在input 上绑定下拉值,使用ngModel 我设法在输入上绑定下拉值,然后我需要在看起来像子弹的输入字段上显示信用卡号特殊字符:
4444 •••• •••• 4444
通过使用pipe,我设法将它绑定到下拉组件上,但是由于ngModel,将它绑定到input 时出现问题,这是我尝试过的:
mask.pipe.ts
transform(value: string, showMask :boolean): string {
if (typeof value === "number") {
value = JSON.stringify(value);
}
if (!showMask || value.length < 16) {
return value;
}
return `${value.substr(0, 4)} ${'●'.repeat(4)} ${'●'.repeat(4)} ${value.substr(value.length - 4, value.length)}`;
}
html 组件
<input placeholder="value"
[ngModel]="selectedCard.value | maskInput: true"
(ngModelChange)="selectedCard.value = $event"type="text">
输出是:
1111 ●●●● ●●●● 1111
这是我的stackblitz demo,有没有关于如何解决这个问题的建议或更好的做法?
【问题讨论】:
标签: javascript angular typescript input-mask