2017-05-04 8 views
2

角度2にtext-maskを使用して小数点でパーセントを書式設定しています。これを行うには、createNumberMaskアドオンを使用します。 10進数の文字列をパーセントにフォーマットしようとすると、実行時エラーが発生し、未定義の 'test'プロパティを準備できなくなります。以下は、マスクの書式設定の例です。上記のマスクを使用してangle2を使用してパーセントで小数点以下の書式を設定する方法textMaskからの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

あなたは、このための解決策を考え出すでした:私はcreateNumberMaskから返される関数によって作成された'[]'の要素を削除することで問題を回避するために管理してきましたか? – eyalhakim

+0

@eyalhakimでしたか? – adamdport

答えて

0

私はこれがバグだと確信しています。 You can see a discussion about it here

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}); 
関連する問題