element-ui:el-input输入数字-整数和小数_el-input 输入数字_彭世瑜的博客-程序员秘密

技术标签: elementui  vue.js  javascript  

需求是:

  • 输入框只能输入数字,包括整数和小数

发现网上大部分文章的处理方式:

  1. 通过正则来处理输入,对其合法性进行判断校验,再将提示信息反馈给用户。体验欠佳
  2. 输入完成后进行解析,将字符串转换为数字。会导致显示的值和真实值不一致

比对一下几种方案后,最终使用的是 el-input type="number" 优化实现
在这里插入图片描述

代码 App.vue

<template>
  <div class="">
    
    <h3>el-input</h3>
    <el-input v-model="value1"></el-input>

    <h3>el-input v-model.number</h3>
    <el-input v-model.number="value2"></el-input>
    
    <h3>el-input-number</h3>
    <el-input-number v-model="value3"
      :controls="false"></el-input-number>

    <h3>el-input type="number"</h3>
    <el-input v-model="value4"
      type="number"></el-input>

    <h3>el-input type="number" 优化</h3>
    <el-input v-model="value5"
      type="number"
      class="mo-input--number"></el-input>
  </div>
</template>

<script>
// created at 2022-06-02
export default {
      
  name: 'App',

  props: {
      },

  components: {
      },

  data() {
      
    return {
      
      value1: '',
      value2: '',
      value3: '',
      value4: '',
      value5: '',
    };
  },

  computed: {
      },

  methods: {
      
    async getData() {
      },
  },

  created() {
      
    this.getData();
  },
};
</script>

<style lang="less">
/* 去掉右侧上下箭头  */
.mo-input--number {
      
  input::-webkit-outer-spin-button,
  input::-webkit-inner-spin-button {
      
    -webkit-appearance: none;
  }
  input[type='number'] {
      
    -moz-appearance: textfield;
  }
}
</style>

<style lang="less" scoped>
</style>

依赖 package.json

{
    
  "scripts": {
    
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build"
  },
  "devDependencies": {
    
    "@vue/cli": "^5.0.4",
    "@vue/cli-service": "^5.0.4",
    "css-loader": "^6.7.1",
    "less": "^4.1.2",
    "less-loader": "^11.0.0",
    "style-loader": "^3.3.1",
    "vue-template-compiler": "^2.6.14"
  },
  "dependencies": {
    
    "element-ui": "^2.15.8",
    "vue": "2"
  }
}

入口文件 main.js

import Vue from "vue";
import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
import App from "./App.vue";

Vue.use(ElementUI);

new Vue({
    
  el: "#app",
  render: (h) => h(App),
});

几种方式对比

方式 效果
el-input 可以输入数字,和字符串
el-input v-model.number 可以输入数字,和字符串
el-input-number 可以输入数字,和字符串
el-input type=“number” 仅能输入数字(整数和小数)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mouday/article/details/125095966

智能推荐

Qt项目实战之文本编辑器-----------------第四集_PureヾChan的博客-程序员秘密

在之前的三集中我们已经将窗口的整体效果制作的差不多了,在我们新建很多编辑文档的时候,他们也会出现在文本编辑区,担是有个问题就是没有滚动条,当文本编辑框很大的时候不能通过拉伸窗口来实现文本框也扩大队不对?接下来就是对文本编辑器进行一些功能上面的优化。添加滚动条:在mainwindow.cpp的初始化函数函数InitMainWindow()添加代码 //添加滚动条 ui-&gt;mdiArea-&gt;setVerticalScrollBarPolicy(Qt::ScrollBar

嵌入式硬件工程师是什么?新手学习需要了解什么?_shineo01的博客-程序员秘密

在学习的道路上我们一直是新手,硬件行业显得更加如此。想成为高级嵌入式硬件工程师,你还缺少什么?有很多朋友经常会问,成为高级嵌入式系统硬件工程师,需要做到哪些呢?这里的话你可以留下企鹅,相信我一定可以帮的到你。那么,我们就先从嵌入式硬件工程师是个什么概念入手一、如何理解“嵌入式”的概念呢?1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结

java_输入年份和天数,输出月份和日期_爱Go的小蚊子的博客-程序员秘密

package ccf;import java.io.*;import java.util.*;;public class bowen003 { public static void main(String[] args) { // TODO Auto-generated method stub //1 get year and day --input test

人工智能-李开复_《人工智能》李开复_程序员杂谈的博客-程序员秘密

第一章 人工智能来了        人工智能已经来了 ,而且他就在我们身边,几乎无处不在。我们者的知道什么是人工智能吗?我们真的知道人工智能共同发展吗?我们该如何在心理上将人和机器摆在正确的位置?我们该如何规划人工智能时代的未来生活。        无处不在的人工智能        智能助理        新闻推荐和新闻撰稿        机器视觉        AI艺术      ...

hive配置tez引擎(排除所有情况bug)_Kevin_鹿的博客-程序员秘密

hive配置tez引擎(最管用直插)多次入坑最终总结出了经验tez相比MapReduce而言少了中间阶段向hdfs持久化的过程,多作业转化为单作业,只需要一次hdfs,提升计算性能。集群我的集群比较复杂,基本所有情况都涵盖了,所以大家放心大胆来吧。罗列一些相关的服务供参考组件服务masterslave1slave2slave3slave4...

解决问题 “You don't have permission to access /index.html on this server.”_waveclouds的博客-程序员秘密

原文地址:http://www.cnblogs.com/longhs/p/3558201.html前几天装一个linux 企业版5.0安装了apache,打开测试页面的时候出现如下错误:ForbiddenYou don't have permission to access /index.html on this server.开始我以为我配置出错,花半天时间都没有搞定

随便推点

Intellij Idea @Autowired修改提示级别_LY破晓的博客-程序员秘密

误区加入@Autowired后有红线,其实可以正常运行,并没有代码错误,所以只要修改一下提示级别就可以了。修改方法File – Settings – Inspections修改完后,代码就不会冒红线了。...

LightOJ 1236 Pairs Forming LCM(唯一分解定理)_kalilili的博客-程序员秘密

大致题意:求the number of pairs (i, j) for which lcm(i, j) = n and (i ≤ j ).数据范围: T (≤ 200)denoting the number of test cases.Each case starts with a line containing an integer n (1 ≤ n ≤ 1014).

netlink-Linux下基于socket的内核和上层通信机制_程序员爱美食的博客-程序员秘密

netlink---Linux下基于socket的内核和上层通信机制需要在linux网卡驱动中加入一个自己的驱动,实现在内核态完成一些报文处理(这个过程可以实现一种零COPY的网络报文截获),对于复杂报文COPY下必要的数据交给用户态来完成(因为过于复杂的报文消耗CPU太大,会导致中断占用时间太长)。因此需要一种内核和用户态配合的通信机制,尝试了很多方式都不太理想,最后采用netlink+

maven配置settings访问阿里库_init_bug的博客-程序员秘密

maven配置settings访问阿里库用处:可以使下载jar的速度嗷嗷快!!!1 在maven的conf文件夹下找到settings.xml,复制一份,把’settings’标签下的标签和所有的注释都删除掉,删掉后内容如下:&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;settings xmlns="http://maven.apach...

Android干货_XST891205的博客-程序员秘密

1.2017年百大框架 2.花了 4 个月整理了 50 篇 Android 干货文章 3.kotlin中文网官网 4.程序员到项目经理:从内而外的提升