vue 限制input只能輸入正數(shù)的操作
在某些項目中 input 框只能輸入數(shù)字,可以用以下辦法:
先在標簽上綁定上 @input 事件來監(jiān)聽標簽的值變化,通過正則來改變輸入的值。
<input class="keep_input" v-number-only style="width:35px" v-model="scope.row.fileOrder" @input="scope.row.fileOrder = Number($event.target.value.replace(/\D+/, ''))" />
第二部封裝個自定義指令放在標簽上!
directives: {
numberOnly: {
bind: function(el) {
el.handler = function() {
el.value = Number(el.value.replace(/\D+/, ''))
}
el.addEventListener('input', el.handler)
},
unbind: function(el) {
el.removeEventListener('input', el.handler)
}
}
},
接下來就可以去頁面看效果了,只能輸入數(shù)字且只是正數(shù)!
附上 element 的 input 樣式代碼
.keep_input {
-webkit-appearance: none;
background-color: #fff;
background-image: none;
border-radius: 4px;
border: 1px solid #dcdfe6;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: #606266;
display: inline-block;
font-size: inherit;
outline: 0;
padding: 0 15px;
-webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
height: 30px;
line-height: 30px;
text-align: left;
}
.keep_input:focus {
border-color: #54a6de;
outline: 0;
}
補充知識:記錄el-input type=number限制長度el-input使用
如下所示:
<el-input type="number" oninput="if(value.length>10)value=value.slice(0,10)" @keyup.enter.native="query()" onKeypress="return(/[\d\.]/.test(String.fromCharCode(event.keyCode)))" :max="99999999"> </el-input>
oninput 是個自定義事件 在事件里面獲取輸入的數(shù)字長度,來進行判斷如果大于規(guī)定長度就進行剪切。
keyup.enter.native 是個鍵盤回車事件,當按下Enter鍵時觸發(fā)query()事件。
max為輸入框的最大值,如果input的type=number那么輸入框內(nèi)是輸入不了字符的。
number框 解決輸入e的問題
主要原因是:e在數(shù)學上代表的是無理數(shù),是一個無限不循環(huán)的小數(shù),其值約為2.7182818284,所以在輸入e的時候,輸入框會把e當成一個數(shù)字看待。
可以采用下面的方式來避免這個BUG,在input標簽中添加如下屬性:
onKeypress=“return(/[\d.]/.test(String.fromCharCode(event.keyCode)))”
<el-input placeholder="請輸入密碼" v-model="input" :show-password="true"></el-input>
show-password 加上這個屬性輸入字符進行隱藏一般用于密碼框使用
記錄問題!
以上這篇vue 限制input只能輸入正數(shù)的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Vue 中 toRefs() 和 toRef() 的使用方法
在 Vue 3 中,toRefs()可以將響應式對象的屬性轉換為可響應的 refs,主要用于在解構響應式對象時,保持屬性的響應性,這篇文章主要介紹了Vue 中 toRefs() 和 toRef() 的使用,需要的朋友可以參考下2025-01-01
Vue+ElementUI?封裝簡易PaginationSelect組件的詳細步驟
這篇文章主要介紹了Vue+ElementUI?封裝簡易PaginationSelect組件,這里簡單介紹封裝的一個Pagination-Select組件幾個步驟,結合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-08-08
Vue動態(tài)添加class可能帶來的問題解讀(被覆蓋)
文章討論了在使用Vue.js時,通過動態(tài)class修改元素樣式時可能會遇到的問題,當通過JavaScript動態(tài)添加類時,Vue的動態(tài)class會覆蓋掉通過JavaScript添加的類,導致樣式丟失,這個問題在實際開發(fā)中可能會遇到,尤其是在使用第三方框架2024-12-12
Vue使用高德地圖搭建實時公交應用功能(地圖 + 附近站點+線路詳情 + 輸入提示+換乘詳情)
這篇文章主要介紹了vue中使用高德地圖搭建實時公交應用(地圖 + 附近站點+線路詳情 + 輸入提示+換乘詳情),主要是讓大家熟悉下高德地圖在vue中的使用及vue的常用指令,需要的朋友可以參考下2018-05-05

