实现el-input-number对输入数据的限制
el-input-number,通过precision来对输入的数值进行限制,:precision="0"代表只能输入整数,无论输入什么数字都会转化为整数,值为几表示强制保留几位小数
<el-input-number class="item-input max" :ref="`area_skip_client_num_${index}`"
v-model="item.client_num"
:min="0"
:max="99999"
:controls="false"
:precision="0">
</el-input-number>
实现效果,允许整数,保留到小数点两位即14,14.1,14.23都是允许输入的,超出小数点位数不能输入
<el-input-number class="item-input max" :ref="`area_skip_client_num_${index}`"
v-model="item.client_num"
:min="0"
:max="99999"
:controls="false"
@input.native="changeInput($event)">
</el-input-number>
changeInput(e){
// console.log(e.target.value.indexOf('.'));
// if(e.target.value.indexOf('.')>=0){
// e.target.value=e.target.value.substring(0,e.target.value.indexOf('.'+ 3))
// }
let value = e.target.value;
// 如果输入值中包含小数点
if (value.includes('.')) {
let parts = value.split('.');
// 保留小数点前和小数点后两位
if (parts[1].length > 2) {
parts[1] = parts[1].slice(0, 2);
value = parts.join('.');
}
}
e.target.value = value;
}
被注释掉的代码也可以实现这个操作,但是只能用于在输入框中展示数据,如果需要编辑则仅允许输入整数,无法输入小数