vue的input只输入整数

276 阅读1分钟
<template>
    <el-form :model="dataObj" :rules="dataRule" ref="dataForm" label-width="180px">
        <el-form-item prop="data.precision" label="数字">
          <el-input type="age" v-model.number="dara.precision" placeholder="请输入整数" @keydown="onlyNumber" @blur="onlyNumber" />
        </el-form-item>
     </el-form>   
 </template>
  
  
  export default {
    data(){
      return {
        dataObj:{
          precision:0
        }
      }
    },
    computed:{
       dataRule:{
          precision:[required: true, message: '必填项', trigger: 'blur']
       }
    },
    methods:{
       onlyNumber (event) {
          if (!event || !(event instanceof Object)) return
          const inp = event.target
          setTimeout(function (ele) {
            const val = ele.value
            const reg = /\D/g
            ele.value = val.replace(reg, '')
          }, 200, inp)
        }
    }
  }