最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年08月30日 16:51:10   作者:小豪看世界  
這篇文章主要給大家介紹了關于vue自定義指令限制輸入框輸入值的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

需求

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

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

Vue 自定義指令

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

1. 先注冊一個自定義指令

import Vue from 'vue';

Vue.directive('LimitInputNumber', {
 bind(el) {
 # do something
 },
});

2.使用自定義指令

直接在組件內綁定 v-limit-input-number 指令

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

3.指令內部校驗

onkeypress 事件

onkeypress 事件會在鍵盤按鍵被按下并釋放一個鍵時發(fā)生

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

Vue.directive('LimitInputNumber', {
 bind(el) {
 el.onkeypress = (event) => {
  return (/[\d]/.test(String.fromCharCode(event.keyCode || event.which))) || event.which === 8;
 };
 },
});

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

oninput 事件

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

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

Vue.directive('LimitInputNumber', {
 bind(el) {
  el.oninput = () => {
   el.children[0].value = el.children[0].value.replace(/\D/ig, '');
  };
 },
});

完整代碼

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, '');
  };
 },
});

總結

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

相關文章

  • Vue項目如何部署到Tomcat服務器上

    Vue項目如何部署到Tomcat服務器上

    這篇文章主要介紹了Vue項目如何部署到Tomcat服務器上,Vue中自帶webpack,可以通過一行命令將項目打包,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • Vue中瀑布流布局與圖片加載優(yōu)化的實現(xiàn)

    Vue中瀑布流布局與圖片加載優(yōu)化的實現(xiàn)

    本文主要介紹了Vue中瀑布流布局與圖片加載優(yōu)化的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • 詳解Vite的新體驗

    詳解Vite的新體驗

    這篇文章主要介紹了詳解Vite的新體驗,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • vue Treeselect下拉樹只能選擇第N級元素實現(xiàn)代碼

    vue Treeselect下拉樹只能選擇第N級元素實現(xiàn)代碼

    這篇文章主要介紹了vue Treeselect下拉樹只能選擇第N級元素實現(xiàn)代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Vue3進行樣式Scoped和Global的設置方法

    Vue3進行樣式Scoped和Global的設置方法

    在 Vue 3 中,組件化開發(fā)成為了我們提升前端開發(fā)效率的利器,其中,樣式的管理也是一個至關重要的部分,在 Vue 中,我們會經(jīng)常使用兩種樣式作用域:Scoped 樣式和 Global 樣式,本文將通過示例代碼來介紹Vue3如何進行樣式Scoped和Global的設置,需要的朋友可以參考下
    2025-01-01
  • vue3中的ref和reactive定義數(shù)組方式

    vue3中的ref和reactive定義數(shù)組方式

    這篇文章主要介紹了vue3中的ref和reactive定義數(shù)組方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 使用Vue.js創(chuàng)建一個時間跟蹤的單頁應用

    使用Vue.js創(chuàng)建一個時間跟蹤的單頁應用

    這篇文章主要介紹了使用Vue.js創(chuàng)建一個時間跟蹤的單頁應用的相關資料,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • Vue3引入SVG圖標的流程步驟

    Vue3引入SVG圖標的流程步驟

    我們在開發(fā) Vue 項目的時候會使用一些前端組件庫,例如 Element、Ant Design 等,這些組件庫雖然方便,但是也有一些缺點,比如內置的圖標太少,例如我們開發(fā)醫(yī)療、財務、工程等一些前端項目,內置的圖標不能滿足我們的需求,所以我們常常在Vue項目中引入SVG圖標
    2024-09-09
  • vue.js指令v-for使用及索引獲取

    vue.js指令v-for使用及索引獲取

    這篇文章主要為大家詳細介紹了vue.js中v-for使用及索引獲取,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • vue2.0 與 bootstrap datetimepicker的結合使用實例

    vue2.0 與 bootstrap datetimepicker的結合使用實例

    本篇文章主要介紹了vue2.0 與 bootstrap datetimepicker的結合使用實例,非常具有實用價值,需要的朋友可以參考下
    2017-05-05

最新評論

安龙县| 安丘市| 河南省| 思茅市| 紫阳县| 黄骅市| 策勒县| 肇庆市| 天祝| 麻江县| 舒城县| 娄烦县| 比如县| 图木舒克市| 龙川县| 保德县| 新宁县| 孟村| 永善县| 海林市| 乐业县| 安新县| 濮阳县| 那曲县| 随州市| 张掖市| 青阳县| 富顺县| 贺兰县| 象山县| 临潭县| 栾城县| 公主岭市| 凤翔县| 泰安市| 永福县| 巴青县| 乌什县| 开鲁县| 同江市| 磐石市|