我是Vue框架的新手。我的要求是在输入框中添加货币格式。
格式:
我需要添加一个小数点,在焦点上加上两个零,然后在焦点移除零。V模式值不应更改,因为此格式仅供用户显示.
我找到了一个非常接近我的需求的解决方案:https://jsfiddle.net/mani04/w6oo9b6j。另外还有两件事我无法实现。
我想用它就像:
<my-currency-input id="test1" name="test2" v-model="price" v-validate="required|numeric” ></my-currency-input>我该怎么做?我应该对此使用Vue指令吗?
https://jsfiddle.net/mani04/w6oo9b6j/
就像我想要的那样
<my-currency-input id="test1" name="test2" v-model="price" v-validate="required|numeric” ></my-currency-input>发布于 2020-10-28 10:54:26
我认为您可以使用{{ parseFloat.($variable).toFixed(2) }},对于vue.js的十进制数来说很简单。你可以试试这个。
发布于 2022-01-26 14:32:41
methods: {
formatNumber (num) {
return parseFloat(num).toFixed(2)
},
}内模板
{{ formatNumber($variable) }} 发布于 2019-05-06 16:31:00
你不需要一个专注/专注的方法。您需要的是一个计算的属性。试试这个:
Vue.component('my-currency-input', {
template: `
<div>
<input type="text" v-model="currencyValue" /> {{ formattedCurrencyValue }}
</div>`,
data: function() {
return {
currencyValue: 0,
/* formattedCurrencyValue: "$ 0.00" */
}
},
computed: {
formattedCurrencyValue: function(){
if(!this.currencyValue){ return "$0.00"}
return "$" + parseFloat(this.currencyValue).toFixed(2)
}
}
});
new Vue({
el: '#app'
});https://stackoverflow.com/questions/56007730
复制相似问题