element ui组件 el-input只能数据整数,且设置不能小于0大于10

复制代码
   <el-input 
   		v-model="form.plan" 	
   		type="number" 
   		step="0.5" 
   		min="0" 	max="10" 
   		@keyup.native="proving($event)"  
   		@input="editInput($event,'plan')"  
		placeholder="最高5分" 
   		oninput="if(value>10)value=10;if(value<0)value=0"
  	></el-input>

第一个属性:type="number" input的原生属性,标明input框的类型

第二个属性: step="0.5" input的原生属性,type="number" 时生效, 标明输入字段的合法数字间隔(假如 step="0.5",则合法数字应该是 -0.5、0、0.5、1,以此类推)

第三个属性: min="0" max="10" min 属性规定输入字段所允许的最小值。 max 属性规定输入字段所允许的最大值。 min 属性与 max 属性配合使用,可创建合法值范围。

第四个属性:@keyup.native="proving($event)"

1、onchange事件

通过添加onchange事件我们只能

复制代码
onchange="if(value){value=value.replace(/[^\d]/g,1);if(Number(value)<=0){value=0}} if(Number(value)>10){value=10}"

但是会存在一个问题,如果我们是用在动态编译的表格中,我们虽然让大于10的值变为了10,但在保存的时候传给后端的值会存在问题:如果10000则只会传给后端1;如9999则会变9

2、oninput事件

直接限定了不能大于,可以很好避免上面的问题

复制代码
  oninput="if(value){value=value.replace(/[^\d]/g,1);if(Number(value)<=0){value=0}} if(Number(value)>10){value=10}"

3、最后在表格中使用的效果

复制代码
<el-table-column prop="examineGrade" label="考核评分">
                    <template #default="scope">
                        <el-input type="number" v-model="scope.row.examineGrade" autocomplete="off" size="small"
                            placeholder="0分到10分(包括0和10)"
                            max="10" min="0"
                            onkeypress='return( /[\d]/.test(String.fromCharCode(event.keyCode)))'
                            onchange="if(value){value=value.replace(/[^\d]/g,1);if(Number(value)<=0){value=0}} if(Number(value)>10){value=10}"
                            oninput="if(value){value=value.replace(/[^\d]/g,1);if(Number(value)<=0){value=0}} if(Number(value)>10){value=10}"
                            ></el-input>
                    </template>
 </el-table-column>
相关推荐
Mr Xu_6 小时前
告别冗长 switch-case:Vue 项目中基于映射表的优雅路由数据匹配方案
前端·javascript·vue.js
前端摸鱼匠6 小时前
Vue 3 的toRefs保持响应性:讲解toRefs在解构响应式对象时的作用
前端·javascript·vue.js·前端框架·ecmascript
sleeppingfrog7 小时前
zebra通过zpl语言实现中文打印(二)
javascript
未来之窗软件服务8 小时前
未来之窗昭和仙君(六十五)Vue与跨地区多部门开发—东方仙盟练气
前端·javascript·vue.js·仙盟创梦ide·东方仙盟·昭和仙君
baidu_247438618 小时前
Android ViewModel定时任务
android·开发语言·javascript
VT.馒头8 小时前
【力扣】2721. 并行执行异步函数
前端·javascript·算法·leetcode·typescript
有位神秘人9 小时前
Android中Notification的使用详解
android·java·javascript
phltxy9 小时前
Vue 核心特性实战指南:指令、样式绑定、计算属性与侦听器
前端·javascript·vue.js
Byron070710 小时前
Vue 中使用 Tiptap 富文本编辑器的完整指南
前端·javascript·vue.js
Mr Xu_11 小时前
告别硬编码:前端项目中配置驱动的实战优化指南
前端·javascript·数据结构