国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

el-input限制輸入整數(shù)等分析

這篇具有很好參考價值的文章主要介紹了el-input限制輸入整數(shù)等分析。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

input 限制輸入在平時的需求比較常見,例如限制輸入非數(shù)字,限制輸入整數(shù),限制輸入的小數(shù)位數(shù)等等。這里分析下各種實現(xiàn)方式。


1、在 Vue 中,可以使用以下幾種方式來限制 el-input 只能輸入整數(shù)

1.1 設(shè)置input 的 type為number

  1. 使用 type 屬性為 number:將 el-inputtype 屬性設(shè)置為 number,這將限制用戶只能輸入數(shù)字。然而,這種方式仍然允許輸入小數(shù)。如果你希望只接受整數(shù),可以結(jié)合其他方法進一步限制。
   <el-input v-model="inputValue" type="number"></el-input>

如下圖,不僅可以輸入小數(shù),而且旁邊有加減控制器(controls)
el-input只能輸入整數(shù),vue.js,前端,javascript

1.2 使用inputmode

  1. 使用 HTML5 的 inputmode 屬性:將 el-inputinputmode 屬性設(shè)置為 "numeric" 可以指示瀏覽器彈出數(shù)字鍵盤。
   <el-input v-model="inputValue" inputmode="numeric"></el-input>

如下圖,可以輸入小數(shù),也沒有提示瀏覽器彈出數(shù)字鍵盤,待確認。
el-input只能輸入整數(shù),vue.js,前端,javascript

1.3 使用自定義指令

  1. 使用自定義指令:你可以編寫一個自定義指令,通過監(jiān)聽輸入事件并驗證輸入內(nèi)容,只允許輸入整數(shù)。以下是一個簡單的示例:
   <el-input v-model="inputValue" v-integer-only></el-input>
   // 在 Vue 實例的生命周期鉤子中注冊自定義指令
   directives: {
     'integer-only': {
       mounted(el) {
         el.addEventListener('input', event => {
           const value = event.target.value;
           event.target.value = value.replace(/\D/g, ''); // 只保留數(shù)字
         });
       }
     }
   }

這個自定義指令會在輸入框的輸入事件中,將非數(shù)字字符替換為空字符串,從而只允許輸入整數(shù)。

1.4 使用計算屬性

  1. v-model 綁定時使用計算屬性:在 v-model 綁定時,通過計算屬性處理輸入值,只保留整數(shù)部分,并將處理后的值賦給綁定的數(shù)據(jù)。
   <el-input :value="integerValue" 
             @input="integerValue = handleInput($event.target.value)">
   </el-input>
   data() {
     return {
       inputValue: ''
     };
   },
   computed: {
     integerValue: {
       get() {
         return this.inputValue;
       },
       set(value) {
         this.inputValue = value.replace(/\D/g, ''); // 只保留數(shù)字
       }
     }
   },
   methods: {
     handleInput(value) {
       return value.replace(/\D/g, ''); // 只保留數(shù)字
     }
   }

通過使用計算屬性和處理函數(shù),你可以在輸入過程中過濾非數(shù)字字符,并將處理后的整數(shù)值賦給綁定的數(shù)據(jù)。

1.5 使用 onafterpaste ,onkeyup

onafterpaste 事件在粘貼操作完成后觸發(fā),而 onkeyup 事件在鍵盤按鍵釋放時觸發(fā)。通過監(jiān)聽這兩個事件,可以在用戶輸入或粘貼完成后進行處理,驗證輸入是否為整數(shù),并根據(jù)需要進行修正。

使用 onafterpaste 和 onkeyup 事件可以實現(xiàn)整數(shù)限制,這種方式無法完全阻止用戶通過其他方式(如右鍵菜單粘貼)輸入非整數(shù)字符。

<el-input
            v-model="integerValue "
            onkeyup="this.value=this.value.match(/\d+/)"
            onafterpaste="this.value=this.value.match(/\d+/)"
            @keyup.enter.native="Commit"
          />

實驗如下,可以右鍵粘貼非數(shù)字
el-input只能輸入整數(shù),vue.js,前端,javascript

1.6 el-input-number 的precision屬性

通過設(shè)置el-input-number 的 precision 為0可以控制整數(shù),但用戶可以輸入小數(shù),失焦的時候按照4舍5入的方式計算。

 <el-input-number 
      style="width: 200px;" 
      v-model="" 
      :min="0" 
      :controls="false" 
      :precision="0" 
      placeholder="Please enter 0 or integer" />

輸入時:
el-input只能輸入整數(shù),vue.js,前端,javascript
失焦后:

el-input只能輸入整數(shù),vue.js,前端,javascript

如下圖的實踐,這種方式在提交表單的時候會把小數(shù)提交上去,如下圖,我輸入11.5然后馬上點擊commit提交表單,提交的值是11.5 不是12.

el-input只能輸入整數(shù),vue.js,前端,javascript

總結(jié)

本文介紹了在Vue中限制el-input只能輸入整數(shù)的幾種方式,包括設(shè)置type為number,使用inputmode屬性,自定義指令,計算屬性,使用onafterpaste和onkeyup事件以及使用el-input-number的precision屬性。每種方式都有其優(yōu)缺點,可以根據(jù)實際需求選擇合適的方式。比較建議用自定義指令的方式來實現(xiàn)。文章來源地址http://www.zghlxwxcb.cn/news/detail-753739.html

到了這里,關(guān)于el-input限制輸入整數(shù)等分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包