2017-05-04 35 views
2

我使用text-mask角2来格式百分比与小数。为此,我使用createNumberMask插件。当我尝试使用小数格式化字符串到百分比时,我得到一个运行时错误,无法准备好未定义的属性'test'。以下是我如何格式化蒙版的示例。如何格式百分比使用angular2 createNumberMask从文本掩码

let percentMask = createNumberMask({ 
     prefix: '', 
     suffix: '%', 
     allowDecimal: true 
    }); 

使用上面的面具,我再调用函数返回我的面具阵列如下

let mask = percentMask('4.5'); 

然后我通过这个面具conformToMask如下:

let conformed = conformToMask('4.5', mask, {guide:false}); 

这将引发以下运行时错误':0:0中的错误由以下原因引起:无法读取未定义的属性'test'。

实现上述功能的正确方法是什么,以允许用户输入带小数的百分比并使其格式正确。即用户输入4.5,然后在UI中显示为4.5%。

+1

你有没有想出一个解决方案? – eyalhakim

+0

@eyalhakim是你吗? – adamdport

回答

0

我很确定这是一个错误。 You can see a discussion about it here。我已经成功通过除去由函数创建的'[]'元素来解决这个问题,从createNumberMask返回:

let percentMask = createNumberMask({ 
    prefix: '', 
    suffix: '%', 
    allowDecimal: true 
}); 

let mask = percentMask('4.5'); 
mask = mask.filter((val) => val != '[]'); // <-- this removes the '[]' elements 

let conformed = conformToMask('4.5', mask, {guide:false});