vue input 或 el-input type=“number” 輸入數字,去除右側箭頭
阿新 • • 發佈:2021-05-12
問題描述:
input或者el-input中新增type=number來控制只可輸入數字。
但隨之而來的問題是 輸入框右側會有個上下調整箭頭
解決方法:
input
常用的解決方法,實際是將控制顯示箭頭的 css樣式去掉;
但少部分會不好用,因此可以添加個class來指定。
<template>
<Input v-model="value" placeholder="微信內部號碼" type="number" number="true" class="aaaa" : maxlength="20" clearable style="width:80%;ime-mode:Disabled" @on-keydown="changeaa(event)">
<span slot="prepend">微信</span>
</Input>
</template>
<script>
export default {
data () {
return {
value: ''
}
},
methods:{
changeaa(event){
//禁止非數字字元輸入
if(event.keyCode<48||event.keyCode>57)event.returnValue=false;
}
}
}
</script>
<style>
.aaaa input::-webkit-outer-spin-button,
.aaaa input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
.aaaa input[type="number"] {
-moz-appearance: textfield;
}
</style>
el-input
不過對於el-input此方法仍然不好用
其中
v-model.number 使用修飾符.number可以將輸入的資料轉換為Number型別,否則雖然你輸入的是數字.但仍為子串型別
然後我們將type設定為number,但發現 樣式設定後,仍不生效。
因此,使用/deep/
<el-form-item label="測試數字編號" prop="departnum_id">
<el-input v-model="deptForm.departnum_id" type="number" class="numrule":min="0" :max="99999" placeholder="11001" />
</el-form-item>
<style lang="css" scoped>
/deep/.numrule input::-webkit-outer-spin-button,
/deep/.numrule input::-webkit-inner-spin-button {
-webkit-appearance: none!important;
}
/deep/.numrule input[type="number"]{
-moz-appearance: textfield;
}
</style>