el-input限制输入整数等分析

文章目录

  • 前言
  • 1、在 Vue 中,可以使用以下几种方式来限制 `el-input` 只能输入整数
    • 1.1 设置input 的 type为number
    • 1.2 使用inputmode
    • 1.3 使用自定义指令
    • 1.4 使用计算属性
    • 1.5 使用 onafterpaste ,onkeyup
    • 1.6 el-input-number 的precision属性
  • 总结


前言

input 限制输入在平时的需求比较常见,例如限制输入非数字,限制输入整数,限制输入的小数位数等等。这里分析下各种实现方式。


1、在 Vue 中,可以使用以下几种方式来限制 el-input 只能输入整数

1.1 设置input 的 type为number

  1. 使用 type 属性为 number:将 el-inputtype 属性设置为 number,这将限制用户只能输入数字。然而,这种方式仍然允许输入小数。如果你希望只接受整数,可以结合其他方法进一步限制。
   <el-input v-model="inputValue" type="number"></el-input>

如下图,不仅可以输入小数,而且旁边有加减控制器(controls)
在这里插入图片描述

1.2 使用inputmode

  1. 使用 HTML5 的 inputmode 属性:将 el-inputinputmode 属性设置为 "numeric" 可以指示浏览器弹出数字键盘。
   <el-input v-model="inputValue" inputmode="numeric"></el-input>

如下图,可以输入小数,也没有提示浏览器弹出数字键盘,待确认。
在这里插入图片描述

1.3 使用自定义指令

  1. 使用自定义指令:你可以编写一个自定义指令,通过监听输入事件并验证输入内容,只允许输入整数。以下是一个简单的示例:
   <el-input v-model="inputValue" v-integer-only></el-input>
   // 在 Vue 实例的生命周期钩子中注册自定义指令directives: {'integer-only': {mounted(el) {el.addEventListener('input', event => {const value = event.target.value;event.target.value = value.replace(/\D/g, ''); // 只保留数字});}}}

这个自定义指令会在输入框的输入事件中,将非数字字符替换为空字符串,从而只允许输入整数。

1.4 使用计算属性

  1. v-model 绑定时使用计算属性:在 v-model 绑定时,通过计算属性处理输入值,只保留整数部分,并将处理后的值赋给绑定的数据。
   <el-input :value="integerValue" @input="integerValue = handleInput($event.target.value)"></el-input>
   data() {return {inputValue: ''};},computed: {integerValue: {get() {return this.inputValue;},set(value) {this.inputValue = value.replace(/\D/g, ''); // 只保留数字}}},methods: {handleInput(value) {return value.replace(/\D/g, ''); // 只保留数字}}

通过使用计算属性和处理函数,你可以在输入过程中过滤非数字字符,并将处理后的整数值赋给绑定的数据。

1.5 使用 onafterpaste ,onkeyup

onafterpaste 事件在粘贴操作完成后触发,而 onkeyup 事件在键盘按键释放时触发。通过监听这两个事件,可以在用户输入或粘贴完成后进行处理,验证输入是否为整数,并根据需要进行修正。

使用 onafterpaste 和 onkeyup 事件可以实现整数限制,这种方式无法完全阻止用户通过其他方式(如右键菜单粘贴)输入非整数字符。

<el-inputv-model="integerValue "onkeyup="this.value=this.value.match(/\d+/)"onafterpaste="this.value=this.value.match(/\d+/)"@keyup.enter.native="Commit"/>

实验如下,可以右键粘贴非数字
在这里插入图片描述

1.6 el-input-number 的precision属性

通过设置el-input-number 的 precision 为0可以控制整数,但用户可以输入小数,失焦的时候按照4舍5入的方式计算。

 <el-input-number style="width: 200px;" v-model="" :min="0" :controls="false" :precision="0" placeholder="Please enter 0 or integer" />

输入时:
在这里插入图片描述
失焦后:

在这里插入图片描述

如下图的实践,这种方式在提交表单的时候会把小数提交上去,如下图,我输入11.5然后马上点击commit提交表单,提交的值是11.5 不是12.

总结

本文介绍了在Vue中限制el-input只能输入整数的几种方式,包括设置type为number,使用inputmode属性,自定义指令,计算属性,使用onafterpaste和onkeyup事件以及使用el-input-number的precision属性。每种方式都有其优缺点,可以根据实际需求选择合适的方式。比较建议用自定义指令的方式来实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/159283.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wvp分享视频访问页面

先登录查看视频 输入用户名密码登录 国标设备--点击通道 点击播放 点击复制 打开分享链接查看视频 直接在浏览器中打开 可以直接预览 原有标签退出登录 刷新分享的视频链接依然可以查看视频 iframe内嵌网页查看视频 获取iframe代码 点击复制 打开vscode&#xff0c;新建一…

有哪些好用的CFD软件?怎么选?

ANSYS Fluent和COMSOL Multiphysics以及OpenFOAM这3款CFD软件哪个好&#xff1f;cfd软件中哪款最实用&#xff1f;cfd软件有哪些&#xff1f;今天就给大家带来这几款CFD软件对比分析&#xff0c;一起来看看吧。 ANSYS Fluent ANSYS Fluent 是一种流行的计算流体动力学 (CFD) …

<MySQL> 什么是JDBC?如何使用JDBC进行编程?

目录 一、JDBC是什么&#xff1f; 二、JDBC常用接口和类 2.1 DataSource 2.2 Connection 2.3 Statement 2.4 ResultSet 三、JDBC的使用 3.1 获得数据库驱动包 3.2 添加到项目依赖 3.3 描述数据库服务器 3.4 建立数据库连接 3.6 执行SQL语句和接收返回数据 3.7 释放…

busybox制作根文件系统1

使用Busybox构建根文件系统 **环境&#xff1a;**Ubuntu 20.04 ​ 野火imx6ull pro开发板 根文件系统里都有什么内容 在构建根文件系统之前&#xff0c;先来看一下根文件系统里面大概都有些什么内容&#xff0c;以Ubuntu为例&#xff0c;根文件系统的目录名字为/&#xff0…

581. 最短无序连续子数组

581. 最短无序连续子数组 题目&#xff1a; 给你一个整数数组 nums &#xff0c;你需要找出一个 连续子数组 &#xff0c;如果对这个子数组进行升序排序&#xff0c;那么整个数组都会变为升序排序。 请你找出符合题意的 最短 子数组&#xff0c;并输出它的长度。 示例&…

数字化非遗之光:十八数藏的文化保护之道

在当今数字化的时代&#xff0c;文化传承正经历着一场前所未有的转变&#xff0c;而十八数藏以其独特的方式成为数字化非遗的典范。这个项目不仅仅是数字技术的应用&#xff0c;更是一种文化的使命&#xff0c;一道保护非物质文化遗产的光芒。 十八数藏以数字化的手段保护非遗&…

五金零件经营小程序商城的效果如何

五金零件无论批发还是零售都有很高的需求度&#xff0c;传统消费者往往是线下门店寻找购买&#xff0c;但如今更多的客户选择线上消费&#xff0c;而商家们也选择线上开店拓展更广的客源及生意增长。 除了第三方平台进驻外&#xff0c;私域开店对商家来说也是一种方式。微信场…

如何用惯性动作捕捉系统,快速创建数字人三维动画?

在动画制作领域&#xff0c;惯性动作捕捉技术已经逐渐成为一种重要的制作手段。通过动捕设备能够将动捕演员真实的动作转化为数字数据&#xff0c;然后在动画中再现这些动作。为了创造出逼真、流畅的数字人动画&#xff0c;惯性动作捕捉系统成为了一大工具。 根据采集方式的不…

Vulnhub 解决虚拟机网络问题

前言&#xff1a; 有的时候&#xff0c;我们从vulnhub官网下载ovf文件导入到虚拟机后&#xff0c;使用扫描器扫描存活的时候发现扫不到靶机的IP&#xff0c;这是因为虚拟机的网卡配置有问题。我们需要进安全模式修改一些配置。 1. 在虚拟机开机的时候按一下上下键&#xff0c;让…

Wagtail-基于Python Django的内容管理系统CMS如何实现公网访问

Wagtail-基于Python Django的内容管理系统CMS实现公网访问 文章目录 Wagtail-基于Python Django的内容管理系统CMS实现公网访问前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个…

代码随想录二刷 | 链表 |链表相交

代码随想录二刷 &#xff5c; 链表 &#xff5c;链表相交 题目描述解题思路 & 代码实现 题目描述 160.链表相交 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点&#xff0c;返回 null 。 题目数据 保…

万界星空科技QMS质量管理系统功能

QMS质量管理系统结合质量决策、综合质量管理、过程质量控制三个层次要素&#xff0c;帮助企业实现产品全寿命周期质量数据的及时、灵活、准确和全面采集。 通过质量管理软件能够实现质量数据科学处理和应用&#xff0c;包括数据的系统化组织、结构化存贮、便捷式查询、定制化统…

什么是搜索相关性?AI如何驱动搜索相关性?

训练数据驱动机器学习&#xff0c;机器学习促进丰富的人机交互体验。在快速迭代的互联网时代&#xff0c;我们不断被各种广告铺盖&#xff0c;甚至经常细思极恐&#xff0c;“天呐&#xff0c;小红书怎么知道我面膜没了。”这都是算法和机器学习的鬼斧神工洞察着用户的搜索意图…

低代码:数字化转型趋势下的快速开发方式

目录 一、前言 二、低代码是什么&#xff1f; 三、低代码如何提高生产力 开发工具JNPF介绍 产品分析 1可视化应用开发 2流程管理 3整个平台源码合作 四、小结 一、前言 通常&#xff0c;开发一个大型的企业级系统&#xff0c;公司往往需要大量的人力做支持后盾&#xff0c;如需…

时态图根据时间轴动态播放热力图

效果图如下&#xff1a; <!DOCTYPE html> <html><head><title>时态图</title><meta charset"utf-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><!-- 引入样式 --&g…

【高级网络程序设计】Week3-2 Servlet

一、 What are servlets? 1. 定义 &#xff08;1&#xff09;Servlets are Java’s answer to CGI&#xff1a; programs that run on a web server acting as middle layer between HTTP request and databases or other applications.Used for client requests that cann…

人工智能和AR/VR:AI在AR和VR中扮演什么角色?行业应用有哪些?

增强现实技术和虚拟现实技术&#xff08;AR/VR&#xff09;发展前景广阔&#xff0c;备受各大企业关注。事实上&#xff0c;近四分之三的行业领导者表示&#xff0c;他们预计这些沉浸式技术将于未来五年内成为主流。高盛公司报告称&#xff0c;到2025年&#xff0c;AR/VR行业值…

Golang版本处理Skywalking Trace上报数据

Tips: 中间记录了解决问题的过程&#xff0c;如不感兴趣可直接跳至结尾 首先去es里查询skywalking trace的元数据 可以拿到一串base64加密后的data_binary(直接解密不能用&#xff0c;会有乱码&#xff0c;可参考https://github.com/apache/skywalking/issues/7423) 对data_b…

图解系列--密钥,随机数,应用技术

密钥 1.生成密钥 1.1.用随机数生成密钥 密码学用途的伪随机数生成器必须是专门针对密码学用途而设计的。 1.2.用口令生成密钥 一般都是将口令输入单向散列函数&#xff0c;然后将得到的散列值作为密钥使用。 在使用口令生成密钥时&#xff0c;为了防止字典攻击&#xff0c;需要…

笔记本只使用Linux是什么体验?

笔记本只使用Linux是什么体验&#xff1f; 之后安了Windows双系统之后也不怎么想再进Windows了。 开发环境就不用说了&#xff0c;Linux下配各种开发环境都方便的多&#xff0c;当然你要用 vs 那还是乖乖回 Windows 吧。 最近很多小伙伴找我&#xff0c;说想要一些Linux的资…