看到这个标题好像很简单,onblur、onchange事件都能做到,但是用户体验感貌似很差。查了下百度查不到资料了。看了下vue的基础,发现 vue 有个 watch 监听器好吧,从这里入手 用v-model 加watch 就可以很简单的实现这一个功能。

----代码省略

<input id="amt" type="number" v-model="amount"/>

----代码省略


data:{
  return{
    amount:""
  }
}

----代码省略
watch:{
  amount(newVal,oldVal){
	console.log(newVal)
	var reg = /^(\d{0,8})(\.(\d{0,2}))?$/g;
	if(!reg.test(newVal)){
	  if(newVal == ''){
		this.amount = '';
		return;
	  }
	  this.amount = oldVal
	}else{
	  this.amount = newVal;
	}
  }
}

 

Logo

前往低代码交流专区

更多推荐