VUE element-ui input组件限定只能输入数字

1 篇文章 0 订阅
1 篇文章 0 订阅

在使用element-ui时想要input输入框只能输入数字怎么办?这是就要用到js的原生keydown方法了,上代码

 

<template>
	<section>
		<el-form :model="defaultLimitForm">
			<el-form-item label="只能输入数字" :label-width="formLabelWidth">
				<el-input size="mini" v-model.number="num" controls-position="right" @keydown.native="inputLimit" />
			</el-form-item>
		</el-form>
	</section>
</template>

<script>
	let data = () => {
		return {
			num: 0
		}
	}

	let inputLimit = function(e) {
		let num = e.target.value || ''
		let code = e.which || e.keyCode
		let str = (e.key && e.key != 'Unidentified') ? e.key : num.substr(num.length - 1)
		console.log('|type:' + e.type + '|code:' + code + '|str:' + str + '|value:' + num)
		//无论任何情况,皆可执行
		if(code == '8') {
			return true
		}
		//没有满足任何一种情况,中断执行
		if(!(/[\d.]/.test(str) || code == '190')) {
			e.returnValue = false
			return false
		}
		if(num.length > 12 ||
			(num.indexOf('.') >= 0 && code == '190') ||
			((num.indexOf('.') == num.length - 3) && num.length > 3) ||
			(num.length == 0 && code == '190')) {
			e.returnValue = false
			return false
		}
		return true

	}

	export default {
		data: data,
		methods: {
			inputLimit: inputLimit
		},
		mounted: function() {

		}
	}
</script>

<style>

</style>

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值