2017-05-04 104 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});