element-ui中el-input只輸入數(shù)字(包括整數(shù)和小數(shù))
需求是:
- 輸入框只能輸入數(shù)字,包括整數(shù)和小數(shù)
發(fā)現(xiàn)網(wǎng)上大部分文章的處理方式:
- 通過(guò)正則來(lái)處理輸入,對(duì)其合法性進(jìn)行判斷校驗(yàn),再將提示信息反饋給用戶。體驗(yàn)欠佳
- 輸入完成后進(jìn)行解析,將字符串轉(zhuǎn)換為數(shù)字。會(huì)導(dǎo)致顯示的值和真實(shí)值不一致
比對(duì)一下幾種方案后,最終使用的是 el-input type="number" 優(yōu)化
實(shí)現(xiàn)
代碼 App.vue
<template> <div class=""> <h3>el-input</h3> <el-input v-model="value1"></el-input> <h3>el-input v-model.number</h3> <el-input v-model.number="value2"></el-input> <h3>el-input-number</h3> <el-input-number v-model="value3" :controls="false"></el-input-number> <h3>el-input type="number"</h3> <el-input v-model="value4" type="number"></el-input> <h3>el-input type="number" 優(yōu)化</h3> <el-input v-model="value5" type="number" class="mo-input--number"></el-input> </div> </template> <script> // created at 2022-06-02 export default { name: 'App', props: {}, components: {}, data() { return { value1: '', value2: '', value3: '', value4: '', value5: '', }; }, computed: {}, methods: { async getData() {}, }, created() { this.getData(); }, }; </script> <style lang="less"> /* 去掉右側(cè)上下箭頭 */ .mo-input--number { input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; } input[type='number'] { -moz-appearance: textfield; } } </style> <style lang="less" scoped> </style>
依賴 package.json
{ "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build" }, "devDependencies": { "@vue/cli": "^5.0.4", "@vue/cli-service": "^5.0.4", "css-loader": "^6.7.1", "less": "^4.1.2", "less-loader": "^11.0.0", "style-loader": "^3.3.1", "vue-template-compiler": "^2.6.14" }, "dependencies": { "element-ui": "^2.15.8", "vue": "2" } }
入口文件 main.js
import Vue from "vue"; import ElementUI from "element-ui"; import "element-ui/lib/theme-chalk/index.css"; import App from "./App.vue"; Vue.use(ElementUI); new Vue({ el: "#app", render: (h) => h(App), });
幾種方式對(duì)比
方式 | 效果 |
---|---|
el-input | 可以輸入數(shù)字,和字符串 |
el-input v-model.number | 可以輸入數(shù)字,和字符串 |
el-input-number | 可以輸入數(shù)字,和字符串 |
el-input type=“number” | 僅能輸入數(shù)字(整數(shù)和小數(shù)) |
總結(jié)
到此這篇關(guān)于element-ui中el-input只輸入數(shù)字(包括整數(shù)和小數(shù))的文章就介紹到這了,更多相關(guān)element-ui el-input輸入數(shù)字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue ElementUI之Form表單驗(yàn)證遇到的問(wèn)題
這篇文章主要介紹了Vue ElementUI之Form表單驗(yàn)證遇到的問(wèn)題,需要的朋友可以參考下2017-08-08vue+vue-router轉(zhuǎn)場(chǎng)動(dòng)畫的實(shí)例代碼
今天小編就為大家分享一篇vue+vue-router轉(zhuǎn)場(chǎng)動(dòng)畫的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09Vuejs監(jiān)聽(tīng)vuex中值的變化的方法示例
這篇文章主要介紹了Vuejs監(jiān)聽(tīng)vuex中值的變化的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12Vue實(shí)現(xiàn)手機(jī)號(hào)、驗(yàn)證碼登錄(60s禁用倒計(jì)時(shí))
這篇文章主要介紹了Vue實(shí)現(xiàn)手機(jī)號(hào)、驗(yàn)證碼登錄(60s禁用倒計(jì)時(shí)),幫助大家更好的理解和使用vue,感興趣的朋友可以了解下2020-12-12Vue實(shí)現(xiàn)彈出框點(diǎn)擊空白頁(yè)彈框消失效果
這篇文章主要介紹了VUE實(shí)現(xiàn)彈出框點(diǎn)擊空白頁(yè)彈框消失,實(shí)現(xiàn)方法可以在Vue中實(shí)現(xiàn)彈出框然后通過(guò)點(diǎn)擊空白頁(yè)面來(lái)讓彈窗隱藏,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12