季布, 2023-05-19 18:17 采纳率: 35.1%
浏览 223
已结题

vue el-input只允许输入整数或小数只保留小数点后两位 并设置最大值

el-input只允许输入整数或小数只保留小数点后两位 并设置最大值

img

img

这里的输入框是动态生成的,所以搞不好了,目前实现的功能是最大值是30,只能输入整数,但是现在没法输入小数了 我需要保留一位小数

img

这是我实现的,但是输入不了小数

img

  • 写回答

9条回答 默认 最新

  • PhoenixRiser 2023-05-19 19:03
    关注

    TechWhizKid参考GPT回答:

    Element UI的el-input组件,用v-model绑定来进行输入控制,但对于你所要的特殊规则(只允许输入整数或者小数并只保留小数点后两位,并设置最大值),要结合watch或者computed属性来进行处理。

    这里有个示例,假设最大值是100:

    <el-form :model="DailyForm.others">
      <div v-for="(item, index) in DailyForm.others" :key="index">
        <el-form-item label="Others">
          <el-input
            v-model="item.others"
            style="width:230px"
            @input="validateInput(index)"
            :maxlength="item.others.length > 0 && item.others.indexOf('.') !== -1 ? 5 : 3"
            placeholder="请输入数字"
          />
        </el-form-item>
        <e1-form-item label-"Remarks">
          <el-input v-model-"item.remarks"/>
        </el-form-item>
        <el-form-item>
          <el-button @click="deleteotherItem(index)"type="danger"> Delete
          </e1-button>
        </el-form-item>
        <hr />
      </div>
    </el-form>
    
    
    

    对应的JavaScript:

    export default {
      data() {
        return {
          DailyForm: {
            others: [
              { others: '', remarks: '' },
              // ...其他数据
            ]
          }
        };
      },
      methods: {
        validateInput(index) {
          let value = this.DailyForm.others[index].others;
          value = value.toString();
          if (!/^\d+(\.\d{0,2})?$/.test(value) || Number(value) > 100) {
            this.DailyForm.others[index].others = value.slice(0, -1);
          }
        },
        deleteotherItem(index) {
          // 删除操作
          this.DailyForm.others.splice(index, 1);
        },
      },
    };
    
    
    
    • 每次当el-input的值变动时,会调用validateInput方法。方法会检查输入的值是否符合规定的模式(是否是整数或者小数,并且最多只有两位小数)以及是否超过了最大值(这里假设为100)。如果不符合这些规则,那么就会删除最后一个字符,即撤销最近的输入。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月22日
  • 已采纳回答 5月22日
  • 修改了问题 5月21日
  • 修改了问题 5月21日
  • 展开全部

悬赏问题

  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因