Element UI 数字输入框的实现

本文介绍了两种前端表单验证数字输入的方法:正则校验和el-input-number组件。正则校验灵活性高,但需不断调整正则表达式;el-input-number组件限制输入范围,但超出范围时会自动修正,可能导致用户困惑。同时提供了组件的详细参数说明及事件处理,帮助开发者更好地理解和使用这两种方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:添加正则校验

缺点:需要根据需要变更正则表达式
在这里插入图片描述

<template>
  <el-form ref="formRef" :model="formData" label-width="80px" size="mini">
    <el-form-item
      label="数字"
      prop="num"
      :rules="[
        {
          pattern: /^[1-9]\d*$/,
          message: '请输入大于0的整数!',
          trigger: 'change',
        },
      ]"
    >
      <el-input
        clearable
        placeholder="请输入大于0的整数!"
        v-model="formData.num"
        style="width: 200px"
      ></el-input>
    </el-form-item>
  </el-form>
</template>

<script>
export default {
  data() {
    return {
      formData: {},
    };
  },
};
</script>

方法二:使用 el-input-number

缺点:输入超出最大和最小值的数据时,会自动更正为最大和最小值,用户容易产生误解,以为是bug。

<!-- 只能输入0-100的整数的数字输入框 -->
    <el-input-number
      :controls="false"
      v-model="num"
      :min="0"
      :max="100"
      :precision="0"
    ></el-input-number>

在这里插入图片描述

    <!-- 只能输入-100到100的两位小数的数字输入框 -->
    <el-input-number
      :controls="false"
      v-model="num2"
      :min="-100"
      :max="100"
      :precision="2"
    ></el-input-number>

在这里插入图片描述

参数说明类型可选值默认值
value / v-model绑定值number0
min设置计数器允许的最小值number-Infinity
max设置计数器允许的最大值numberInfinity
step计数器步长number1
step-strictly是否只能输入 step 的倍数booleanfalse
precision数值精度number
size计数器尺寸stringlarge, small
disabled是否禁用计数器booleanfalse
controls是否使用控制按钮booleantrue
controls-position控制按钮位置stringright-
name原生属性string
label输入框关联的label文字string
placeholder输入框默认 placeholderstring--
事件名称说明回调参数
change绑定值被改变时触发currentValue, oldValue
blur在组件 Input 失去焦点时触发(event: Event)
focus在组件 Input 获得焦点时触发(event: Event)
方法名说明参数
focus使 input 获取焦点-
select选中 input 中的文字

若想实现更多功能,可以参考:
《Element UI 源码改造 —— 自定义数字输入框的实现》
https://blog.csdn.net/weixin_41192489/article/details/116748305

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朝阳39

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值