标签局部:
<el-input v-model="form.field" @input="(value) => inputFieldValueFormat(value, 'field', type)" />
解决回调局部
inputFieldValueFormat(value, field, type) { // 小于100且小数点后最多输出6位 if (type === 'less100rate') { const valueData = value.replace(/^(\-)*\D*(\d*(?:\.\d{0,6})?).*$/g, '$1$2'); if (valueData <= 100) { this.form[field] = valueData; } else { this.form[field] = valueData.slice(0, 2); } // 规范金额 最多输出2位小数 } else if (type === 'money') { this.form[field] = value.replace(/^(\-)*\D*(\d*(?:\.\d{0,2})?).*$/g, '$1$2'); // 纯数字 } else if (type === 'number') { this.form[field] = value.replace(/[^\d]/g, ''); // 整数位最多输出n位 小数为最多输出m位 } else if () { this.form[field] = value.replace(/^(\-)*\D{0,n}(\d{0,n}(?:\.\d{0,m})?).*$/g, '$1$2'); } },