# NumberInput 数字输入框

基于 el-input 封装的 "只能输入数字" 的输入框

只能输入数字为什么要加引号呢? 因为输入小数的时候, 1. 也是可以验证通过了, 输入负数的时候, 就一个负号 - 也是可以验证通过的, 只能说是相对来说限制为数字

封装思路: 基于 ElementUI 封装的 NumberInput | Henry

源码

# 基础用法

el-input 改为 number-input 即可. 默认为正数, 最多两位小数

<number-input v-model="input" placeholder="请输入内容"></number-input>

<script>
  export default {
    data() {
      return {
        input: ''
      }
    }
  }
</script>
显示代码

# 分类

展示全部分类

通过 type , signedplaces 来设置数字类型和小数位数

<number-input
  v-for="(item, index) in inputs"
  :key="index"
  v-bind="item"
  :placeholder="`请输入${item.label}`"
></number-input>

<script>
  export default {
    data() {
      return {
        inputs: [
          {
            value: '',
            label: '正数'
          },
          {
            value: '',
            places: 3,
            label: '正数, 小数最多 3 位'
          },
          {
            value: '',
            signed: 'minus',
            places: 2,
            label: '负数'
          },
          {
            value: '',
            signed: 'all',
            places: 2,
            label: '全部'
          },
          {
            value: '',
            type: 'integer',
            label: '正整数'
          },
          {
            value: '',
            type: 'integer',
            signed: 'minus',
            label: '负整数'
          },
          {
            value: '',
            type: 'integer',
            signed: 'all',
            label: '整数'
          }
        ]
      }
    }
  }
</script>
显示代码

# Attributes

参数 说明 类型 可选值 默认值
type 类型 string integer: 整数, decimal: 小数 decimal
signed 正负数 string plus: 正数, minus: 负数, all: 全部 plus
places 保留的小数位数, 默认 2 位 string / number 2
value / v-model 绑定值 string / number
maxlength 原生属性,最大输入长度 number
minlength 原生属性,最小输入长度 number
placeholder 输入框占位文本 string
clearable 是否可清空 boolean false
disabled 禁用 boolean false
size 输入框尺寸 string medium / small / mini
prefix-icon 输入框头部图标 string
suffix-icon 输入框尾部图标 string
autocomplete 原生属性,自动补全 string on, off off
auto-complete 下个主版本弃用 string on, off off
name 原生属性 string
readonly 原生属性,是否只读 boolean false
max 原生属性,设置最大值
min 原生属性,设置最小值
step 原生属性,设置输入字段的合法数字间隔
resize 控制是否能被用户缩放 string none, both, horizontal, vertical
autofocus 原生属性,自动获取焦点 boolean true, false false
form 原生属性 string
label 输入框关联的 label 文字 string
tabindex 输入框的 tabindex string - -
validate-event 输入时是否触发表单的校验 boolean - true

# Slots

name 说明
prefix 输入框头部内容
suffix 输入框尾部内容
prepend 输入框前置内容
append 输入框后置内容

# Events

事件名称 说明 回调参数
blur 在 Input 失去焦点时触发 (event: Event)
focus 在 Input 获得焦点时触发 (event: Event)
change 仅在输入框失去焦点或用户按下回车时触发 (value: string | number)
input 在 Input 值改变时触发 (value: string | number)
clear 在点击由 clearable 属性生成的清空按钮时触发