【发布时间】:2018-05-16 14:37:33
【问题描述】:
我的货币掩码出现了一些问题。
当我在字段中输入 10000 时,它会按预期格式化 10,000 但当我将焦点转移到另一个字段或按 Tab 时。掩码将逗号位置向左移动 1。即 10,000 变为 1,0000
您可以检查 codepan 的问题,有人可以帮我解决这个问题吗?
https://codepen.io/veer3383/pen/BxqzLb?editors=1010#
模板:
<v-text-field @keyup="formatCurrency(initialBalance, $event)" :prefix="currency" v-model="initialBalance" label="Balance" :disabled="disabled"></v-text-field>
方法:
formatCurrency (num: any, e: any) {
num = num + '';
var number = num.replace(/[^\d.-]/g, '');
var splitArray = number.split('.');
var integer = splitArray[0];
var mantissa = splitArray.length > 1 ? '.' + splitArray[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(integer)){
integer = integer.replace(rgx, '$1' + ',' + '$2');
}
e.currentTarget.value = integer + mantissa.substring(0, 3);
},
【问题讨论】:
标签: javascript vuejs2 vuetify.js