2017-05-04 56 views
2

我使用Herbots的InputMask,它運行良好,但我注意到它處理百分比,使得掩碼爲「0.00%」的值0.4被格式化爲「0.4%」。使用輸入掩碼格式化百分比

好吧,當然。說得通。除了我正在處理的實際百分比值,這是一個介於0和1之間的值,所以0.4應該顯示爲「40.00%」與所述掩碼。

我之前遇到過這個問題(與其他遮罩系統),並試圖通過將輸入值乘以100並在出路上分割來修復它在表單級別,但這是一件很醜的事情。 InputMask(預處理程序或自定義鉤子)中是否有某些東西可以讓我將真實值設置爲適當的百分比?

回答

0

好的,我的工作方式是使用onBeforeMask和onUnMask函數。在Clojure,它是:

:onBeforeMask (fn [value opts] (str (* 100 (cljs.reader/read-string value)))) 
:onUnMask (fn [maskedvalue unmaskedvalue] (str (/ unmaskedvalue 100))) 

我仍然稱讚如果有一個數據按摩的替代方案。關鍵似乎是,onBeforeMask給你一個字符串,並期望返回一個字符串,其中onUnMask會給你一個數字(但仍然期望返回一個字符串)。