直接指定輸入框的type為number不能控制不讓輸入小數(shù)點(diǎn),經(jīng)過查找發(fā)現(xiàn)自定義指令可以,以下是代碼
<el-input type="number" v-enterNumber v-model="createdOrder.quantity" class="order-smail-input" @change="detailQuantity"></el-input>
鉤子函數(shù):
directives: {
? ? enterNumber:{
? ? ? ? inserted(el, binding, vnode, oldVnode){
? ? ? ? ? ? el.addEventListener("keypress",function(e){
? ? ? ? ? ? ? ? e = e || window.event;
? ? ? ? ? ? ? ? let charcode = typeof e.charCode === 'number' ? e.charCode : e.keyCode;
? ? ? ? ? ? ? ? let re = /\d/;
? ? ? ? ? ? ? ? if(!re.test(String.fromCharCode(charcode)) && charcode > 9 && !e.ctrlKey){
? ? ? ? ? ? ? ? ? ? if(e.preventDefault){
? ? ? ? ? ? ? ? ? ? ? ? e.preventDefault();
? ? ? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? ? ? ? e.returnValue = false;
}
}
})
}
}
},