elementuiinput只能输⼊数字并且限制最⼤值
<el-input type="number" οninput="if(value.length>10)value=value.slice(0,10)" @native="query()"
onKeypress="return(/[\d\.]/.test(String.fromCharCode(event.keyCode)))" :max="99999999"> </el-input>
oninput 是个⾃定义事件 在事件⾥⾯获取输⼊的数字长度,来进⾏判断如果⼤于规定长度就进⾏剪切。
max为输⼊框的最⼤值,如果input的type=number那么输⼊框内是输⼊不了字符的。
number框 解决输⼊e的问题
主要原因是:e在数学上代表的是⽆理数,是⼀个⽆限不循环的⼩数,其值约为2.7182818284,所以在输⼊e的时候,输⼊框会把e当成⼀个数字看待。
可以采⽤下⾯的⽅式来避免这个BUG,在input标签中添加如下属性:
onKeypress=“return(/[\d.]/.test(String.fromCharCode(event.keyCode)))”
<el-input placeholder="请输⼊密码" v-model="input" :show-password="true"></el-input>
show-password 加上这个属性输⼊字符进⾏隐藏⼀般⽤于密码框使⽤
1. <el-table-column label="得分">
2. <template slot-scope="scope">
3. <div v-if="queryObj.isResult != undefined">{{DetailScore}}</div>
4. <div v-else>
5. <el-inputinput标签placeholder属性
6. type="number"
7. size="small"
8. v-model.number="DetailScore"
9. @input="numberChange($event,scope.$index)"
0. @change="numberChange($event,scope.$index)"
1. ></el-input>
2. </div>
3. </template>
4. </el-table-column>
5. js:
6. numberChange(val, index) {
7. let integer = /^(-|\+)?\d+$/; //输⼊整数(包括0)的正则,解决不能输⼊负号问题
8. if (st(val)) {
9. if (this.tableData[index].thirdScore == 0) {
0. this.tableData[index].getDetailScore = parseInt(val);
1. } else {
2. this.tableData[index].getDetailScore = parseInt(val);
3. this.$nextTick(() => {
4. let newVal = Math.min(parseInt(val), this.tableData[index].thirdScore);
5. this.tableData[index].getDetailScore = newVal;
6. });
7. }
8. }
9. },
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论