欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

需求

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

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

Vue 自定義指令

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

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

import Vue from 'vue';

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

2.使用自定義指令

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

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

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

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

總結(jié)

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

相關文章

  • 解決在vue的mounted中獲取對象為null問題

    解決在vue的mounted中獲取對象為null問題

    這篇文章主要介紹了解決在vue的mounted中獲取對象為null問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue.js實現(xiàn)標簽頁切換效果

    vue.js實現(xiàn)標簽頁切換效果

    這篇文章主要介紹了vue.js實現(xiàn)標簽頁切換效果,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • vue里面使用mui的彈出日期選擇插件實例

    vue里面使用mui的彈出日期選擇插件實例

    今天小編就為大家分享一篇vue里面使用mui的彈出日期選擇插件實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 詳細分析vue表單數(shù)據(jù)的綁定

    詳細分析vue表單數(shù)據(jù)的綁定

    這篇文章主要介紹了vue表單數(shù)據(jù)的綁定的相關資料,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • vue之如何配置默認顯示頁面和默認路由

    vue之如何配置默認顯示頁面和默認路由

    這篇文章主要介紹了vue之如何配置默認顯示頁面和默認路由問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 全面總結(jié)Vue3.0的多種偵聽方式

    全面總結(jié)Vue3.0的多種偵聽方式

    Vue提供了一種更通用的方式來觀察和響應當前活動的實例上的數(shù)據(jù)變動:偵聽屬性,下面這篇文章主要給大家介紹了關于Vue3.0多種偵聽方式的相關資料,需要的朋友可以參考下
    2021-10-10
  • vue3如何直接修改reactive定義的變量

    vue3如何直接修改reactive定義的變量

    這篇文章主要介紹了vue3如何直接修改reactive定義的變量問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 深入了解Vue3中props的原理與使用

    深入了解Vue3中props的原理與使用

    props指父組件往子組件中傳入?yún)?shù),這篇文章主要為大家介紹了vue3中props的原理與使用,文中的示例代碼講解詳細,感興趣的可以了解一下
    2023-05-05
  • Vue源碼分析之Vue實例初始化詳解

    Vue源碼分析之Vue實例初始化詳解

    這篇文章主要給大家介紹了關于Vue源碼分析之Vue實例初始化的相關資料,需要的朋友可以參考下
    2019-08-08
  • vue-cli3.0之配置productionGzip方式

    vue-cli3.0之配置productionGzip方式

    這篇文章主要介紹了vue-cli3.0之配置productionGzip方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05

最新評論