<el-input
class="numberInput"
type="text"
v-model.number="form.subtotal"
placeholder="请输入小计"
:disabled="isEditing"
:value="formattedSubtotal"
clearable=""
oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=0){value=''} if(value>999999999){value=999999999}"
/>
</el-form-item>
formattedSubtotal() {
this.form.subtotal = this.formattedPrice(this.form.subtotal);
},
formattedPrice(amount) {
if (amount === null || amount === "") {
return "";
}
if (typeof amount === "number") {
amount = amount.toString();
} else {
amount = String(amount);
}
// 将逗号替换为小数点
amount = amount.replace(/,/g, ".");
try {
amount = parseFloat(amount);
} catch (error) {
return "Invalid amount";
}
return amount.toLocaleString();
},
type一定不能是number 不然只能输入三位数,不能格式化金额 ,number类型不能输入逗号,自动清空。