序言
在开发项目的过程中,表单需要设置某些字段输入的值必须是数字,且是必输字段,我使用了element提供的方法v-model.number,但是出现了一点问题。具体见图:
用了v-model.nuber以后:
看到了图以后很显然意见,他虽然完成了必输字段需要时数字这个需求,但是他还是可以输入文字。于是采用了另一种办法:
具体用法看代码:
<el-input v-model="scope.fmdt.thirdYearAssign" class="innerbox" type="number" onkeypress="return( /[\d]/.test(String.fromCharCode(event.keyCode) ) )"></el-input>
这里的 οnkeypress="return( /[\d]/.test(String.fromCharCode(event.keyCode) ) )" 是为了解决输入框不可以输入e,从而只能输入数字:
此外需要一点css,来让输入框更加完美:
/*------------------------修改type=number的样式------------------------------------------------*/
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input[type="number"]{
-moz-appearance: textfield;
}
这样就解决了上面的问题,输入框只能那个输入数字。