激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語言 - JavaScript - vue自定義指令限制輸入框輸入值的步驟與完整代碼

vue自定義指令限制輸入框輸入值的步驟與完整代碼

2021-09-03 16:46小豪看世界 JavaScript

這篇文章主要給大家介紹了關(guān)于vue自定義指令限制輸入框輸入值的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

需求

前端開發(fā)過程中,經(jīng)常遇到表單校驗(yàn)的需求,比如校驗(yàn)用戶輸入框的內(nèi)容,限制用戶只能輸入數(shù)字。

本文內(nèi)容基于 element-ui,el-form 組件可以綁定 model、rule 用于表單內(nèi)容校驗(yàn),但如果有多個(gè)表單多個(gè)輸入框那就得寫很多個(gè) rule,雖然方法可以通用可是使用起來也是比較繁瑣的,可通過自定義執(zhí)行實(shí)現(xiàn)一次注冊(cè),多次使用。

Vue 自定義指令

我們使用 el-input 作為表單的輸入框

1. 先注冊(cè)一個(gè)自定義指令

?
1
2
3
4
5
6
7
import Vue from 'vue';
 
Vue.directive('LimitInputNumber', {
 bind(el) {
 # do something
 },
});

2.使用自定義指令

直接在組件內(nèi)綁定 v-limit-input-number 指令

?
1
<el-input v-limit-input-number />

3.指令內(nèi)部校驗(yàn)

onkeypress 事件

onkeypress 事件會(huì)在鍵盤按鍵被按下并釋放一個(gè)鍵時(shí)發(fā)生

可在事件觸發(fā)時(shí)檢測(cè)若輸入的值不為數(shù)字,直接返回 fales

?
1
2
3
4
5
6
7
Vue.directive('LimitInputNumber', {
 bind(el) {
 el.onkeypress = (event) => {
  return (/[\d]/.test(String.fromCharCode(event.keyCode || event.which))) || event.which === 8;
 };
 },
});

但該事件存在一個(gè)問題,就是在中文輸入法的時(shí)候無法觸發(fā)事件,導(dǎo)致用戶可以輸入中文

vue自定義指令限制輸入框輸入值的步驟與完整代碼

oninput 事件

oninput 事件在用戶輸入時(shí)觸發(fā)

可在事件觸發(fā)時(shí)進(jìn)行過濾,過濾掉那些不為數(shù)字的值,并重新綁定到輸入框上,解決了中文輸入法下的問題

?
1
2
3
4
5
6
7
Vue.directive('LimitInputNumber', {
 bind(el) {
  el.oninput = () => {
   el.children[0].value = el.children[0].value.replace(/\D/ig, '');
  };
 },
});

vue自定義指令限制輸入框輸入值的步驟與完整代碼

完整代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
import Vue from 'vue';
 
Vue.directive('LimitInputNumber', {
 bind(el) {
  el.onkeypress = (event) => {
   return (/[\d]/.test(String.fromCharCode(event.keyCode || event.which))) || event.which === 8;
  };
  el.oninput = () => {
   el.children[0].value = el.children[0].value.replace(/\D/ig, '');
  };
 },
});

總結(jié)

到此這篇關(guān)于vue自定義指令限制輸入框輸入值的文章就介紹到這了,更多相關(guān)vue自定義指令限制輸入框輸入值內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://segmentfault.com/a/1190000023816599

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: www.成人在线视频 | 欧美精品一区二区久久 | 一级电影免费 | 成人激情综合网 | 久久91精品国产91久久yfo | 久久性生活免费视频 | 中文字幕欧美日韩 | a免费毛片| 久久亚洲一区二区三区成人国产 | 欧美黄色一级片视频 | 把娇妻调教成暴露狂 | 史上最强炼体老祖动漫在线观看 | 色妞妞视频 | 羞羞答答tv| 久久午夜国产 | 免费看一级片 | 中文字幕爱爱视频 | 欧美中文字幕一区二区三区亚洲 | av噜噜在线 | 欧美一级免费高清 | 久久久一区二区 | 欧美14一15sex性hd | 91国内精品久久久久免费影院 | 成人午夜久久 | 精品成人一区二区三区 | 九九热欧美 | 色悠悠久久久久 | 欧美精品一区二区三区在线 | 激情视频在线播放 | 国产一级毛片高清视频完整版 | 免费视频爱爱太爽了 | 日韩中文字幕一区二区三区 | 91精品国产乱码久久久久久久久 | 久久草在线看 | 国产69精品久久久久99尤 | 精品一区二区三区免费视频 | 成人不卡在线观看 | 国产一区精品视频 | 男男肉文总攻 | 91美女啪啪 | 福利在线免费视频 |