<template>
<!-- 输入框 -->
<el-input
:type="type"
:placeholder="placeholder"
v-model="input"
@input="inputChange"
@change="valueChange"
:maxlength="maxlength"
clearable
:disabled="disabled"
></el-input>
</template>
<script>
import { formatNumber } from "common/index.js";
export default {
props: {
type: {
type: String,
default: "text",
},
value: {
type: [String, Number],
default() {
return "";
},
},
maxlength: {
type: Number,
default: 18,
},
placeholder: {
type: String,
default: "",
},
disabled: {},
},
watch: {
value: {
handler(val) {
this.input = val;
},
deep: true,
},
},
data() {
return {
input: this.value,
};
},
methods: {
valueChange(e) {
this.$emit("change", e);
},
inputChange(val) {
let val2 = val
.replace(/[^\d.]/g, "")
.replace(/\.{2,}/g, ".")
.replace(".", "$#$")
.replace(/\./g, "")
.replace("$#$", ".")
.replace(/^\./g, "")
.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3");
if (val2.indexOf(".") < 0 && val2 != "") {
if (val2.substr(0, 1) == "0" && val2.length == 2) {
val2 = val2.substr(1, val2.length);
}
}
let result = formatNumber(val2);
this.input = result;
this.$emit("input", result);
},
},
};
</script>
```javascript
在这里插入代码片
<moneyInput
style="width: 200px"
class="input-num"
@change="moneyChange"
v-model="savePlanPopForm.trxnAmt"
></moneyInput>
```javascript
在这里插入代码片