entrada de control de entrada digital
Una manera: por el control de las expresiones regulares
Este enfoque no es la señal de la entrada se convierte a '
<el-input
v-model="number"
oninput="value=value.replace(/[^\d]/g,'')"
placeholder="number">
</el-input>
Segunda manera: a través de unas reglas de validación de control de formulario
<el-form-item label="年龄" prop="age" :rules="[{ validator: checkAge, trigger: 'blur' }]">
<el-input v-model.number="ruleForm.age" ></el-input>
</el-form-item>
data() {
var checkAge = (rule, value, callback) => {
if (value &&!Number.isInteger(value)) {
return callback(new Error('请输入数字值'));
}else{
return callback();
}
};
return {
checkAge,
ruleForm: {
age: ''
},
};
},
La entrada de control de la entrada decimal de dos dígitos, y el primero no lo es. Alternativamente 0
<el-input oninput="value=value.replace(/[^\d.]/g, '')
.replace(/\.{2,}/g, '.').replace('.', '$#$')
.replace(/\./g, '').replace('$#$', '.')
.replace(/(\d+)\.(\d\d).*$/, '$1.$2')
.replace(/^0|^\./g, '')"
v-model="value" size="small">
</el-input>