我想听听有关如何实现这一目标的任何建议或建议。要求是创建一个输入掩码指令,该指令仅允许用户输入数字,可选2个小数,并且在输入字段中也有%符号。任何想法,或者如果有任何已经为此建造的东西将非常感激, 提前谢谢!
答案 0 :(得分:4)
希望您可以使用text-mask模块。
但您需要安装Ionic 3
兼容版本,如下所示。
npm install angular2-text-mask@8.0.2 --save
如下所示更改package.json
(即删除^
)
"angular2-text-mask": "8.0.2",
这个module
有很多功能。见上面的链接。
更新:如果您使用的是Lazy loading
,则必须在TextMaskModule
或page's module
内导入shared.module.ts
,您还需要设置maxlength
上的ion-input
,以避免出现在blur event
上的额外字符。
答案 1 :(得分:0)
遵循Sam的建议,用文字掩码解决:
<input type="tel" [(ngModel)]="percent"
[textMask]="{mask: mask, pipe: percentage, guide:false}" />
和..
mask(obj) {
return [ /\d/, /\d|./, /\d|./, /\d/, /\d/ ];
};
percentage(value) {
var num = value.replace('%', '');
if (isNaN(num)) {
if (num % 1 != 0) {
num = parseFloat(num).toFixed(2);
}
return num + '%';
} else {
return false;
}
}