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>
相关推荐
呼啦啦呼啦啦啦啦啦啦5 小时前
利用pdfjs实现的pdf预览简单demo(包含翻页功能)
android·javascript·pdf
前端 贾公子8 小时前
vue-cli 模式下安装 uni-ui
前端·javascript·windows
拾光拾趣录8 小时前
链表合并:双指针与递归
前端·javascript·算法
拼图2098 小时前
element-plus——图标推荐
javascript·vue.js·elementui
期待のcode8 小时前
图片上传实现
java·前端·javascript·数据库·servlet·交互
koooo~9 小时前
JavaScript中的Window对象
开发语言·javascript·ecmascript
安心不心安10 小时前
React hooks——useReducer
前端·javascript·react.js
像风一样自由202010 小时前
原生前端JavaScript/CSS与现代框架(Vue、React)的联系与区别(详细版)
前端·javascript·css
啃火龙果的兔子10 小时前
react19+nextjs+antd切换主题颜色
前端·javascript·react.js
_pengliang10 小时前
小程序按住说话
开发语言·javascript·小程序